БЕЗПЕЧНЕ ПРОГРАМУВАННЯ: АВТОМАТИЗОВАНІ ІНСТРУМЕНТИ ДЛЯ ВИЯВЛЕННЯ ВРАЗЛИВОСТЕЙ В КОДІ
DOI:
https://doi.org/10.32782/IT/2024-4-6Ключові слова:
безпека систем, кібербезпека, вразливості, програмне забезпечення з відкритим кодом, автоматизація, тестування безпеки, методологія оцінки.Анотація
З кожним роком виявляється все більше вразливостей програмного забезпечення та вони стають все більш шкідливими для організацій у всьому світі, впливаючи на їхні фінанси, діяльність і репутацію. Мета роботи. Вразливості можуть становити серйозний ризик та призвести до зламу системи, витоку інформації або відмови в обслуговуванні. Ця проблема погіршується через нестачу фахівців з кібербезпеки. Автоматизовані інструменти та технології можуть оптимізувати процес виявлення вразливостей, зробивши його ефективнішим. Метою роботи є аналіз ефективності існуючих рішень для виявлення різних типів вразливостей на різних етапах розробки програмного забезпечення, а також визначення переваг і недоліків кожного з інструментів. Робота спрямована на підвищення точності та ефективності виявлення уразливостей в реальних умовах програмування. Методологія. Досліджено наявні автоматизовані інструменти для виявлення вразливостей у коді в контексті безпечного програмування. Проведено порівняльний аналіз популярних рішень, таких як статичний аналізатор коду, динамічний аналіз та інструменти для аналізу залежностей. Ретельно вивчено принципи роботи, функціональні можливості та особливості кожного інструменту. Виокремлено основні переваги та обмеження існуючих рішень, зокрема щодо їх інтеграції у процеси, швидкості виявлення помилок та точності результатів. На основі результатів проведеного аналізу надано рекомендації щодо оптимального вибору та налаштування інструментів для виявлення, а також пропозиції щодо їх вдосконалення для забезпечення більш ефективного виявлення та усунення уразливостей. Наукова новизна. Великі мовні моделі та інші інструменти штучного інтелекту швидко привертають увагу та застосовуються в усьому світі. Наукова новизна цієї статті полягає в їх комплексному аналізі. У статті вперше проведено детальне порівняння різних типів інструментів для виявлення вразливостей, зокрема з акцентом на новітні рішення, які забезпечують більш точне виявлення вразливостей у сучасних технологіях програмування. Визначено актуальні проблеми, що виникають при використанні автоматизованих інструментів для виявлення вразливостей, зокрема, питання фальшивих спрацьовувань та інтеграційні складнощі, що не завжди висвітлюються в існуючих дослідженнях. Це дозволяє більш глибоко зрозуміти обмеження існуючих рішень і визначити напрямки їх вдосконалення. Висновки. Результати цієї роботи демонструють значний потенціал використання машинного навчання для виявлення вразливостей програмного забезпечення безпосередньо на рівні вихідного коду. Створений набір даних, а також застосування методів машинного навчання, дозволили досягти високої точності в класифікації потенційних вразливостей. Було доведено, що можна значно покращити ефективність аналізу, скорочуючи час, необхідний для виявлення вразливостей, і дозволяючи швидше фокусуватися на потенційних проблемах.
Посилання
B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, and A. Torralba, «Learning deep features for discriminative localization,» in Computer Vision and Pattern Recognition (CVPR), pp. 2921–2929, IEEE, 2019.
Check Point Blog. Check Point Research: Third Quarter of 2022 Reveals Increase in Cyberattacks and Unexpected Developments in Global Trends. checkpoint.com. URL: https://blog.checkpoint.com/2022/10/26/third-quarter-of-2022-revealsincrease-in-cyberattacks/
D. Gonzalez, F. Alhenaki, and M. Mirakhorli. Architectural security weaknesses in industrial controlsystems (ICS) an empirical study based on disclosed software vulnerabilities. In 2019 IEEE International Conference on Software Architecture (ICSA), pages 31–40, March 2019.
G. Smith. The intelligent solution: Automation, the skills shortage and cyber-security. Comput. Fraud. Secur, 2018, 6–9.
H. Booth, D. Rike H. Booth, D. Rike, and G. Witte. The National Vulnerability Database (NVD): Overview. Technical report, National Institute of Standards and Technology (NIST), 2021.
H. Booth. Draft NISTIR 8138, Vulnerability Description Ontology (VDO). Technical report, National Institute of Standards and Technology (NIST), 2016.
M. Aminu, S. Anawansedo, Y. Sodiq. Driving Technological Innovation for a Resilient Cybersecurity Landscape. International Journal of Latest Technology in Engineering, Management & Applied Science, 13(4), 126–133, 2024.
N. Elmrabit, F. Zhou, F. Li. Evaluation of Machine Learning Algorithms for Anomaly Detection. In Proceedings of the 2020 International Conference on Cyber Security and Protection of Digital Services (Cyber Security), Dublin, Ireland, 15–19 June 2020; pp. 1–8.
S. Acharya, U. Rawat, R. Bhatnagar. A Comprehensive Review of Security: Treats, Vulnerabilities, MalwareDetection, and Analysis. In Security and Communication Net-works, 34 pages, 2023.
Z. Kremenek, T. Zhang. A memory model for static analysis of c programs. In International Symposium On Leveraging Applications of Formal Methods, Verification and Validation (2018), Springer, pp. 535–548.