PHÁT TRIỂN CÔNG CỤ HỖ TRỢ LẬP TRÌNH AN TOÀN CÓ KHẢ NĂNG TUỲ CHỈNH CHO PHÁT TRIỂN ỨNG DỤNG TRÊN ANDROID

Lê Công Bình, Nguyễn Lê Bảo Thi, Trương Phước Lộc, Trần Minh Triết, Trần Anh Duy

Tóm tắt


Mặc dù Android là một hệ điều hành di động phổ biến, hệ sinh thái ứng dụng của Android vẫn còn tồn tại nhiều vấn đề bảo mật. Thiếu sự nhận thức và quan tâm đối với vấn đề bảo mật trong việc phát triển ứng dụng Android là một trong những nguyên nhân chính gây ra tình trạng này. Trong bối cảnh hiện nay, các nhà phát triển vẫn chưa có đủ kiến thức về bảo mật. Do đó, chúng tôi đã nghiên cứu và đề xuất một công cụ hỗ trợ lập trình an toàn. Dựa trên ý tưởng của DevSecOps, nhà phát triển được đặt ở trung tâm để tối ưu hóa giải pháp cho vấn đề này bằng cách tích hợp lập trình an toàn vào giai đoạn đầu trong quá trình phát triển phần mềm. Bài báo này trình bày hai đóng góp chính của nghiên cứu: biên soạn và phân loại vấn đề bảo mật trong phát triển ứng dụng Android và phát triển công cụ ArmorDroid, một plugin cho Android Studio hỗ trợ lập trình an toàn. Plugin này, có thể sử dụng cho các tệp Java, Kotlin và XML, có thể quét và phát hiện mã nguồn có lỗ hổng ngay lập tức và đề xuất các sửa nhanh cho lập trình viên trong giai đoạn phát triển. Plugin này giúp lập trình viên cải thiện mã nguồn an toàn của họ và huấn luyện họ viết mã nguồn an toàn bằng cách cung cấp các tiêu chuẩn lập trình an toàn trong ứng dụng Android. Hơn nữa, lập trình viên có thể tùy chỉnh tập luật để phù hợp với tình huống của họ và chia sẻ nó với các lập trình viên khác. Công trình của chúng tôi cũng trình bày kết quả của một nghiên cứu thử nghiệm về hiệu suất của plugin ArmorDroid.

 


Từ khóa


Android Studio plugin; DevSecOps; Secure Coding

Toàn văn:

PDF

Trích dẫn


Arzt, S., Rasthofer, S., Fritz, C., Bodden, E., Bartel, A., Klein, J., Le Traon, Y., Octeau, D., & Mcdaniel, P. (2014). FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps. Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation.

De Cremer, P., Desmet, N., Madou, M., & De Sutter, B. (2020). Sensei: Enforcing secure coding guidelines in the integrated development environment. Software: Practice and Experience, 50(9), 1682-1718. Wiley Online Library.

Egele, M., Brumley, D., Fratantonio, Y., & Kruegel, C. (2013). An empirical study of cryptographic misuse in android applications. Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security, 73-84.

Fan, W., Zhang, D., Chen, Y.-g., Wu, F., & Liu, Y. (2020). EstiDroid: Estimate API Calls of Android Applications Using Static Analysis Technology. IEEE Access, 8, 105384-105398.

Moore, R., & Lopes, J. (1999). Paper templates. In TEMPLATE'06, 1st International Conference on Template Production. SCITEPRESS.

Nguyen, D. C., Wermke, D., Acar, Y., Backes, M., Weir, C., & Fahl, S. (2017). A stitch in time: Supporting Android developers in writing secure code. Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, 1065-1077.

Pan, L., Cui, B., Yan, J., Ma, X., Yan, J., & Zhang, J. (2019). Androlic: an extensible flow, context, object, field, and path-sensitive static analysis framework for Android. Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, 394-397.

Senanayake, J., Kalutarage, H., Al-Kadri, M. O., Petrovski, A., & Piras, L. (2023). Android source code vulnerability detection: a systematic literature review. ACM Computing Surveys, 55(9), 1-37.

Smith, J. (1998). The Book (2nd ed.). The publishing company.

Statista. (2023). Quarterly number of mobile app downloads worldwide from 1st quarter 2016 to 4th quarter 2022. Statista website. Retrieved from https://www.statista.com/statistics/695094/quarterly-number-of-mobile-app-downloads-store/

Talukder, M. A. I., Shahriar, H., Qian, K., Rahman, M., Ahamed, S., Wu, F., & Agu, E. (2019). DroidPatrol: a static analysis plugin for secure mobile software development. 2019 IEEE 43rd annual computer software and applications conference (COMPSAC), 1, 565-569. IEEE.

Tebib, M. E. A., Graa, M., & Andre, P. (2023). A survey on secure android apps development life-cycle: Vulnerabilities and tools. International Journal On Advances in Security, 16(1 & 2), 54-71.

Tran, A.-D., Nguyen, M.-Q., Phan, G.-H., & Tran, M.-T. (2021). Security Issues in Android Application Development and Plug-in for Android Studio to Support Secure Programming. In Future Data and Security Engineering. Big Data, Security and Privacy, Smart City and Industry 4.0 Applications: 8th International Conference, FDSE 2021, Virtual Event, November 24--26, 2021, Proceedings 8 (pp. 105-122). Springer.

UAST - Unified Abstract Syntax Tree. (2023). UAST - Unified Abstract Syntax Tree. Retrieved from https://plugins.jetbrains.com/docs/intellij/uast.html




DOI: https://doi.org/10.54607/hcmue.js.21.7.4032(2024)

Tình trạng

  • Danh sách trống