ОГЛЯД МЕТОДІВ АНАЛІЗУ БЕЗПЕЧНОГО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

Автор(и)

  • А. А. Коваленко Харківський національний університет радіоелектроніки
  • Т. Г. Куценко Харківський національний університет радіоелектроніки
  • А. С. Шаповал Харківський національний університет радіоелектроніки
  • О. В. Ситник Харківський національний університет радіоелектроніки
  • Я. С. Ні Харківський національний університет радіоелектроніки

DOI:

https://doi.org/10.26906/SUNZ.2025.1.156-161

Ключові слова:

безпечне програмне забезпечення, вразливість програми, витік інформації, зміни версії, бінарний код

Анотація

У статті проведений детальний огляд методів аналізу безпечного програмного забезпечення. Метою
дослідження є детальний огляд існуючих методів статичного і динамічного аналізу програм, які є базою для забезпечення безпеки. Для цього проводиться порівняльний аналіз функціональних можливостей різних методів і
інструментів та виявляються основні недоліки. Результати дослідження. Представлений детальний огляд і порівняльний аналіз існуючих методів зіставлення вихідних і бінарних файлів, аналізу змін між версіями програмного
забезпечення, пошуку витоків динамічної пам'яті і помилок використання звільненої пам'яті. Доведено, що незважаючи на велику кількість доступних методів, існують серйозні обмеження на клас завдань, для яких вони можуть бути
ефективно застосовані. Висновок. Необхідно прибирати існуючі обмеження, розвиваючи запропоновані методи.
Доцільно розглядати методи не окремо, а в сукупності. При цьому треба враховувати вклад, який по окремості привносять методи, в загальну картину забезпечення безпеки програм. Такий спільний розвиток та сумісне використання розглянутих у статті методів дозволить отримати більш якісний аналіз.

Завантаження

Посилання

1. NIST CVE report. URL:https://nvd.nist.gov/vuln/search/statistics?form_type=Basic&results_type=statistics&search_type=all&isCpeNameSearch=false

2. Github. URL: https://github.com

3. Oss-fuzz. URL: https://github.com/google/oss-fuzz

4. Openssl. URL: https://www.openssl.org

5. Google-zero. URL: https://googleprojectzero.blogspot.com/2022/04/the-more-you-know-more-you-know-you.html

6. Sliwerski J., Zimmermann T., Zeller A. When Do Changes Induce Fixes, ACM SIGSOFT Software Engineering Notes, vol. 3, no. 4. 2005. DOI: https://doi.org/10.1145/1082983.1083147 DOI: https://doi.org/10.1145/1082983.1083147

7. F. Rahman, D. Posnett, A. Hindle, E. Barr, P. Devanbu, "BugCache for Inspections: Hit or Miss?", Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, 2011. DOI:https://doi.org/10.1145/2025113.2025157 DOI: https://doi.org/10.1145/2025113.2025157

8. J. Yang, X. Song, Y. Xiong, Y. Meng, "An Open Source Software Defect Detection Technique Based on Homology Detection and Pre-identification Vulnerabilitys", International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, 2018. DOI: https://doi.org/10.1007/978-3-319-93554-6_94 DOI: https://doi.org/10.1007/978-3-319-93554-6_94

9. A. Xu, T. Dai, H. Chen, Z. Ming, W. Li, "Vulnerability Detection for Source Code Using Contextual LSTM", 5th International Conference on Systems and Informatics, 2018. DOI: https://doi.org/10.1109/ICSAI.2018.8599360 DOI: https://doi.org/10.1109/ICSAI.2018.8599360

10. H. Perl, S. Dechand, M. Smith, D. Arp, F. Yamaguchi, K. Rieck, S. Fahl, Y. Acar, "VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assist Code Audits", Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications, 2015. DOI: https://doi.org/10.1145/2810103.2813604 DOI: https://doi.org/10.1145/2810103.2813604

11. Change Distiller. URL: https://bitbucket.org/sealuzh/tools-changedistiller/src/master

12. M. Kim, D. Notkin, "Discovering and representing systematic code changes", International Conference on Software Engineering (ICSE), pp. 309-319, 2009. URL: https://web.cs.ucla.edu/~miryung/Publications/icse09-lsdiff.pdf DOI: https://doi.org/10.1109/ICSE.2009.5070531

13. Kaifeng Huang, Bihuan Chen, Xin Peng, Daihong Zhou, Ying Wang, Yang Liu, Wenyun Zhao, "ClDiff: Generating Concise Linked Code Differences", Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, 2018. DOI: https://doi.org/10.1145/3238147.3238219 DOI: https://doi.org/10.1145/3238147.3238219

14. Pigaios. URL: https://github.com/joxeankoret/pigaios

15. ON MATCHING BINARY TO SOURCE CODE. https://users.encs.concordia.ca/~mmannan/student-resources/ThesisMASc-Shahkar-2016.pdf

16. G. Fan, R. Wu, Q. Shi, X. Xiao, J. Zhou, C. Zhang, "SMOKE: Scalable Path-Sensitive Memory Leak Detection for Millions of Lines of Code", International Conference on Software Engineering (ICSE), 2019. URL: https://gangfan.github.io/assets/papers/gang_smoke_icse2019_preprint.pdf DOI: https://doi.org/10.1109/ICSE.2019.00025

17. Z3. URL: https://github.com/Z3Prover/z3

18. W. Li, H. Cai, Y. Sui, D. Manz, "PCA: memory leak detection using partial call-path analysis", Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2020. DOI: https://doi.org/10.1145/3368089.3417923 DOI: https://doi.org/10.1145/3368089.3417923

19. Andersen pointer analysis. URL: https://github.com/grievejia/andersen

20. SVF. URL: https://github.com/SVF-tools/SVF

21. S. Cherem, L. Princehouse, R. Rugina, "Practical memory leak detection using guarded value-flow analysis", Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2007. DOI:https://doi.org/10.1145/1250734.1250789 DOI: https://doi.org/10.1145/1250734.1250789

22. Fbinfer. URL: Available: https://fbinfer.com

23. X. Sun, S. Xu, C. Guo, J. Xu, N. Dong, X Ji, S. Zhang, "A Projection-Based Approach for Memory Leak Detection", IEEE 42nd Annual Computer Software and Applications Conference, 2018. https://doi.org/10.1109/COMPSAC.2018.10271 DOI: https://doi.org/10.1109/COMPSAC.2018.10271

Downloads

Опубліковано

2025-03-12

Номер

Розділ

Інформаційні технології