Tổng quan về phân tích tĩnh và phân tích động trong kiểm tra bảo mật ứng dụng
DOI:
https://doi.org/10.54939/1859-1043.j.mst.99.2024.1-11Từ khóa:
An toàn thông tin; Phân tích tĩnh; Phân tích động; Lỗ hổng bảo mật; Kiểm thử phần mềm.Tóm tắt
Trong bối cảnh các hệ thống thông tin ngày càng trở nên phức tạp và đối mặt với nhiều mối đe dọa an ninh mạng, việc đánh giá an toàn thông tin (ATTT) trở nên vô cùng quan trọng. Bài báo này tập trung vào hai phương pháp đánh giá ATTT phổ biến là đánh giá tĩnh và đánh giá động. Đánh giá tĩnh phân tích mã nguồn hoặc mã nhị phân để phát hiện lỗ hổng bảo mật từ giai đoạn phát triển phần mềm. Đánh giá động kiểm tra bảo mật của hệ thống trong quá trình hoạt động, giúp phát hiện lỗ hổng trong thời gian chạy. Bài báo trình bày tổng quan các kỹ thuật và công cụ của cả hai phương pháp, đồng thời so sánh ưu nhược điểm của chúng. Đánh giá tĩnh giúp phát hiện lỗi sớm nhưng có thể bỏ sót các lỗi thời gian chạy, trong khi đánh giá động kiểm tra thực tế nhưng có thể gây gián đoạn hệ thống. Sự kết hợp của cả hai phương pháp mang lại hiệu quả tốt nhất trong việc đảm bảo ATTT.
Tài liệu tham khảo
[1]. Z. Shen, S. Chen, "A survey of automatic software vulnerability detection, program repair, and defect prediction techniques", Security and Communication Networks 2020 (1), 8858010 (2020).
[2]. L. Li, H. Feng, W. Zhuang, N. Meng, B. Ryder, "Cclearner: A deep learning-based clone detection approach", pp. 249-260, (2017).
[3]. H. Wei, M. Li, "Supervised deep features for software functional clone detection by exploiting lexical and syntactical information in source code", pp. 3034-3040, (2017).
[4]. M. White, M. Tufano, C. Vendome, D. Poshyvanyk, "Deep learning code fragments for code clone detection", pp. 87-98, (2016).
[5]. N. Marastoni, R. Giacobazzi, M. Dalla Preda, "A deep learning approach to program similarity", pp. 26-35, (2018).
[6]. A. Sheneamer, "CCDLC detection framework-combining clustering with deep learning classification for semantic clones", pp. 701-706, (2018).
[7]. A. Sheneamer, H. Hazazi, S. Roy, J. Kalita, "Schemes for labeling semantic code clones using machine learning", pp. 981-985, (2017).
[8]. N. Shalev, N. Partush, "Binary similarity detection using machine learning", pp. 42-47, (2018).
[9]. G. Zhao, J. Huang, "Deepsim: deep learning code functional similarity", pp. 141-151, (2018).
[10]. X. Ban, S. Liu, C. Chen, C. Chua, "A performance evaluation of deep-learnt features for software vulnerability detection", Concurrency and Computation: Practice and Experience 31(19), e5103, (2019).
[11]. A.G. Bacudio, X. Yuan, B.-T.B. Chu, M. Jones, "An overview of penetration testing", International Journal of Network Security & Its Applications 3(6), 19, (2011).
[12]. A. Amos-Binks, J. Clark, K. Weston, M. Winters, K. Harfoush, "Efficient attack plan recognition using automated planning", pp. 1001-1006, (2017).
[13]. W. Wang, D. Sun, F. Jiang, X. Chen, C. Zhu, "Research and challenges of reinforcement learning in cyber defense decision-making for intranet security", Algorithms 15(4), 134, (2022).
[14]. M. Bhme, C. Cadar, A. Roychoudhury, "Fuzzing: Challenges and reflections", IEEE Software 38(3), 79-86, (2020).
[15]. J. Li, B. Zhao, C. Zhang, "Fuzzing: a survey", Cybersecurity 1, 1-13, (2018).
[16]. M. Alqaradaghi, T. Kozsik, "Comprehensive Evaluation of Static Analysis Tools for Their Performance in Finding Vulnerabilities in Java Code", IEEE Access (2024).
[17]. K. Abdulghaffar, N. Elmrabit, M. Yousefi, "Enhancing Web Application Security through Automated Penetration Testing with Multiple Vulnerability Scanners", Computers 12(11), 235, (2023).
[18]. S. Alazmi, D.C. De Leon, "A systematic literature review on the characteristics and effectiveness of web application vulnerability scanners", IEEE Access 10, 33200-33219, (2022).
[19]. White Box Testing for Web Applications, 2020. https://www.offsec.com/blog/white-box-testing-web-applications/. (2024).
[20]. A. O'Mara, I. Alsmadi, A. Aleroud, D. Alharthi, "Phishing Detection Based on Webpage Content: Static and Dynamic Analysis", pp. 39-45, (2023).
[21]. A. Aggarwal, P. Jalote, "Integrating Static and Dynamic Analysis for Detecting Vulnerabilities", pp. 343-350, (2006).