ЕФЕКТИВНІСТЬ І ВДОСКОНАЛЕННЯ SAST У КОНТЕКСТІ SQL INJECTION ВРАЗЛИВОСТЕЙ
DOI:
https://doi.org/10.32782/IT/2024-3-16Ключові слова:
вразливості, SAST-інструменти, SQL ін’єкціїАнотація
Виявлення вразливостей безпеки на ранніх етапах розробки є критично важливим для забезпечення надійності програмного забезпечення. Статичний аналіз безпеки (SAST) широко використовується для виявлення потенційних вразливостей у коді. Однак складність сучасних методів та використання динамічних конструкцій у коді створюють виклики для SAST-інструментів, особливо у виявленні вразливостей типу SQL Injection, які можуть призвести до несанкціонованого доступу до даних. Метою статті є дослідити ефективність методу статичного аналізу безпеки (SAST) у виявленні вразливостей типу SQL Injection та на основі експериментального аналізу запропонувати удосконалення цього методу для підвищення його ефективності. Методологія полягає у проведенні експериментального аналізу існуючих SAST-інструментів на здатність виявляти SQL Injection вразливості. Було використано набір тестових методів з відомими вразливостями для оцінки ефективності. На основі отриманих результатів ідентифіковано основні проблеми та розроблено удосконалення до методу статичного аналізу, які були впроваджені і протестовані для оцінки їхньої ефективності. Застосовано наукові методи синтезу, аналізу та порівняння. Наукова новизна полягає у розробці та впровадженні удосконалень до методу статичного аналізу безпеки, які підвищують ефективність виявлення вразливостей типу SQL Injection. Запропоновано нові алгоритми аналізу динамічних конструкцій у коді та обробки складних шаблонів запитів до баз даних, що раніше були недоступні для стандартних SAST-інструментів. Висновки. Запропоновані удосконалення до методу статичного аналізу безпеки дозволяють значно покращити виявлення вразливостей типу SQL Injection, що підтверджується результатами експериментального аналізу. Це підкреслює важливість розвитку і впровадження передових технік у SAST- інструменти для забезпечення високого рівня безпеки програмного забезпечення.
Посилання
Cavelty M. D. The Politics of Cyber-Security. New York, 2024. P. 224. DOI: org/10.4324/9781003497080 (дата звернення: 19.08.2024).
Luo C., Li P., Meng W. T. TChecker: Precise Static Inter-Procedural Analysis for Detecting Taint-Style Vulnerabilities in PHP Applications. Proceedings of the ACM SIGSAC Conference on Computer and Communications Security USA. 07 November, 2022. P. 2175–2188. DOI: 10.1145/3548606.3559391.
Wang Y., Wang D., Zhao W., Liu Y. Detecting SQL Vulnerability Attack Based on the Dynamic and Static Analysis Technology. IEEE 39th Annual Computer Software and Applications Conference. 2015. P. 604–607. DOI: 10.1109/COMPSAC.2015.277.
Charoenwet W., Thongtanunam P., Pham V., & Treude, C. An Empirical Study of Static Analysis Tools for Secure Code Review. In Proceedings of ACM SIGSOFT International Symposium on Software Testing and Analysis. ACM. 2024. New York P. 13. DOI: 10.48550/arXiv.2407.12241.
Do L. N. Q., Wright J. R., Ali K. Why Do Software Developers Use Static Analysis Tools? A User-Centered Study of Developer Needs and Motivations. IEEE Transactions on Software Engineering. 2022. Vol. 48, № 3, P. 835–847. DOI: 10.1109/TSE.2020.3004525.
Yuan Ye, Yuliang Lu, Kailong Zhu, Hui Huang, Lu Yu and Jiazhen Zhao. A Static Detection Method for SQL Injection Vulnerability Based on Program Transformation. Applied Sciences. 2023. Vol. 13, № 21. DOI: 10.3390/app132111763.
NVD. National vulnerability database. 2023. URL: https://nvd.nist.gov/ (дата звернення: 19.08.2024).
Chen Z., Cao J. VMCTE: visualization-based malware classification using transfer and ensemble learning. Computers, Materials & Continua. 2023. № 75(2), P. 4445–4465. DOI:10.32604/cmc.2023.038639.
NIST. National institute of standards and technology. URL: https://www.nist.gov/(дата звернення: 19.08.2024).
Vassallo C., Panichella S., Palomba F., Proksch S., Zaidman A., Gall H. C., Context is king: The developer perspective on the usage of static analysis tools. IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER). 2018. P. 38–49. DOI: 10.1109/SANER.2018.8330195.
Smith M., Naiakshina A, Danilova A., Gerlitz E. On conducting security developer studies with cs students: Examining a password-storage study with cs students, freelancers, and company developers. Proceedings of the Conference on Human Factors in Computing Systems, Association for Computing Machinery. 2020. P. 1–12. DOI: 10.1145/3290605.3300370.
Mehrpour S., LaToza T. D. Can static analysis tools find more defects? Empir Software Eng. 2023. Vol.28. № 5. DOI:10.1007/s10664-022-10234.
Shen S., Kolluri A., Dong Z., Saxena P., Roychoudhury A. Localizing vulnerabilities statistically from one exploit. In Proceedings of the 2021 ACM Asia Conference on Computer and Communications Security. 2021. P. 537–549. DOI:10.1145/3433210.3437528.
Tufano R., Dabić O., Mastropaolo A., Ciniselli M. and Bavota G. Code review automation: strengths and weaknesses of the state of the art. IEEE Transactions on Software Engineering, 2023. P. 1–16. DOI: 10.1109/TSE.2023.3348172.
Esposito M., Falaschi V., Falessi D. An Extensive Comparison of Static Application Security Testing Tools.2024. DOI: 10.13140/RG.2.2.12326.54085.
Esposito M., Moreschini S., Lenarduzzi V., Hästbacka D., Falessi D. Can we trust the default vulnerabilities severity? In IEEE 23rd International Working Conference on Source Code Analysis and Manipulation (SCAM). 2023. P. 265–270. DOI: 10.1109/SCAM59687.2023.00037.
Lysenko S, Lysenko S., Bobrovnikova K., Kharchenko V., Savenko O. IoT multi-vector cyberattack detection based on machine learning algorithms: traffic features analysis, experiments, and efficiency. Algorithms. 2022. Vol 15. № 7. P. 239. DOI: 10.3390/a15070239
Website of Our Study. Static Application Security Testing (SAST) Tools for Smart Contracts: How Far Are We? 2024. URL: https://sites.google.com/view/sc-sast-study-fse2024/home (Accessed on 29/07/2024).
Azman M., Marhusin M. F., Sulaiman R. Machine Learning – Based Technique to Detect SQL Injection Attack. Journal of Computer Science. 2021. № 17. P. 296–303. DOI:10.3844/jcssp.2021.296.303.
Medeiros P. I., Fonseca J., Neves N., Correia M., Vieira M. Benchmarking Static Analysis Tools for Web Security. in IEEE Transactions on Reliability. 2018. V. 67. № 3. P. 1159–1175. DOI: 10.1109/TR.2018.2839339.
Charoenwet W., Thongtanunam P., Pham V. T., Treude C. An Empirical Study of Static Analysis Tools for Secure Code Review. In Proceedings of ACM SIGSOFT International Symposium on Software Testing and Analysis. 2024. P. 13 DOI: 10.48550/arXiv.2407.12241.
Savenko B., Lysenko S., Bobrovnikova K., Savenko O., Markowsky G. Detection DNS tunneling botnets. 11th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS), 22 September, 2021. P. 64–69. DOI: 10.1109/IDAACS53288.2021.9661022