როდესაც საქმე პროგრამირების საყვარელ ენებს ეხება, თითოეულ დეველოპერს საკუთარი ფავორიტი გააჩნია. სიმართლე გითხრათ, ‘ყველაზე უსაფრთხო ენა’ -ს მსგავსი ოფიციალური ტერმინი არ არსებობს. მაგრამ WhiteSource-ის მიერ ჩატარებულმა ბოლო კვლევამ გამოამჟღავნა პროგრამირების სხვადასხვა ენების უსაფრთხოების რამდენიმე მნიშვნელოვანი ასპექტი.
როგორ განვსაზღვროთ პროგრამირების ენის უსაფრთხოება?
ნებისმიერი ენის დაუცველობის შესამოწმებლად აუცილებლად უნდა გაითვალისწინოთ სხვადასხვა ფაქტორები როგორიცაა Buffer Flow vulnerability, Common Weakness Enumeration (CWE), Heartbleed Bug და ა.შ. კვლევა გაკეთდა პროგრამირების შვიდ ყველაზე პოპულარულ ენაზე PHP, Python, Java, Ruby, JavaScript, C და C++ ზე. მათ მონაცემთა სხვადასხვა ბაზებიდან მოიძიეს ინფორმაცია, მაგალითად უსაფრთხოების კონსულტაციები, Github თემატური ტრეკერები, ეროვნული მოწყვლადობის მონაცემთა ბაზა და ა.შ.
პროგრამირების ყველაზე უსაფრთხო ენები
ღია წყაროს (OPEN SOURCE) დაუცველობის სრული ინფორმაცია ენების მიხედვით
Ruby
კვლევის მიხედვით რუბის აქვს მინიმალური რაოდენობის უსაფრთხოების ხარვეზები. ამის გამო ის შეიძლება ჩაითვალოს პროგრამირების ყველაზე უსაფრთხო ენად. CWE-ის (ზოგადი ხარვეზების აღრიცხვა) მიხედვით, ყველაზე გავრცელებული CWe არის XSS ხარვეზები, მაგრამ ასევე არსებობს სხვა CWe-ებიც, როგორიცაა CWE – 20, CWE – 200, CWE – 264 და CWE 284. საერთო ჯამში ბოლო ხუთი წლის განმავლობაში რუბის მძიმე ხარვეზების მხოლოდ 19% ჰქონდა.
C++
C++ პროგრამირების უსაფრთხო ენებს შორის დომინირებს. უკანასკნელი ხუთი წლის განმავლობაში, მაღალი სიმძიმის ხარვეზები საშუალოდ 36%-ს შეადგენს, მაგრამ აღმოჩენილი ხარვეზების რაოდენობა საკმაოდ მცირეა. კვლევის მიხედვით, ამ ენაში მხოლოდ ორი ხარვეზი იპოვეს, როგორიცაა Buffer Errors (CWE – 119) და Validation Issues (CWE – 20).
Python
იყო დრო, როცა პითონმა ხარვეზების მიხედვით ზედა ზღვარს მიაღწია, მაგრამ ახლა ძალიან გაუმჯობესდა. Input Validation (CWE – 20), Permissions, Privileges and Access Control (CWE – 264), Information Leak/Disclosure (CWE – 200) და Cross-Site Scripting (CWE – 79) პითონში თითქმის არ არის ძირეული ხარვეზები . ამ ენას აქვს ყველაზე დაბალი რაოდენობის მაღალი სიმძიმის ხარვეზი (საშუალოდ 15%) ბოლო ხუთი წლის განმავლობაში.
გაიარე რეგისტრაცია ახლავე! მიღება დაწყებულია ახალი ჯგუფებისთვის, ნუ გაუშვებ შენს შანსს ხელიდან!
JavaScript
იმის გამო, რომ პროგრამირების ერთერთი ყველაზე პოპულარული ენაა, ჯავასკრიფტში გამუდმებით იზრდებოდა ხარვეზების რაოდენობა ბოლო ათი წლის განმავლობაში. თუ უმაღლესი სიმძიმის ხარვეზებზე ვისაუბრებთ, მათი რაოდენობა ბოლო ხუთი წლის განმავლობაში საშუალოდ 31%-ი იყო. ყველაზე გავრცელებული ხარვეზები (CWEs) ჯავასკრიფტში არის Path Traversal (Cwe – 22) და Cryptographic Issues (CWE – 310).
Java
კიდევ ერთ პოპულარულ ენაში ჯავა, ხარვეზების რაოდენობა 2016 წლიდან მუდმივად იზრდება. თუ ნახავთ სტატისტიკას, 2017 წელთან შედარებით მონაცემები 2018 წელს გაორმაგებულია. მაღალი სიმძიმის ხარვეზების რაოდენობა საშუალოდ 19%-ია ბოლო ხუთი წლის განმავლობაში, რაც 2015 წლის შემდეგ მცირდება.
PHP
PHP-ს ყველა სხვა ენებთან შედარებით ყველაზე დიდი რაოდენობის ხარვეზები აქვს. ის ერთადერთი ენაა SQL Injection (CWE – 89) ხარვეზით, რომელიც 2017 წელს და 2018 წლებში წამოვიდა. PHP-თან დაკავშირებული კიდევ ერთი გავრცელებული ხარვეზი არის Cross-Site scripting (CWE – 79). მაღალი სიმძიმის ხარვეზების საშუალო რაოდენობა ბოლო ხუთი წლის განმავლობაში 16%-ს შეადგენს, საკმაოდ მდგრადი მონაცემია 2017 წლის მკვეთრი შემცირების შემდეგ.
C
C არის პროგრამირების ყველა ენის მშობელი, რომელსაც აქვს 50%-ზე მეტი ღია წყაროს ხარვეზები 2019 წლიდან. ხარვეზების გარდა, მას ასევე აქვს დიდი რაოდენობის მეხსიერების კორუფციის ხარვეზები, მაგალითად Buffer Errors (CWE – 119). უმაღლესი სიმძიმის ხარვეზები ბოლო ხუთი წლის განმავლობაში საშუალოდ 26%-ია, 2017 წლის შესამჩნევი ზრდის გათვალისწინებით.
და ბოლოს
იმედი მაქვს სტატია თქვენთვის სასარგებლო ინფორმაციას შეიცავს და პროგრამირების ენებს ახლა უსაფრთხოების ასპექტის მიხედვითაც შეხედავთ. თუმცა, გირჩევთ ყველაზე უსაფრთხო ენის არჩევის ნაცვლად ყურადღება გაამახვილოთ იმაზე, თუ როგორ დაწეროთ კოდი ყველაზე უსაფრთხო გზით თქვენს მიერ არჩეულ ენაზე.
შემოგვიერთდით სტეპერების დიდ ოჯახში!
IT Academy Step ლიდერი IT სფეროში , ახლა უკვე 100+ ფილიალით!