Protección ante ataques a aplicaciones informáticas ofuscando el grafo de llamadas

Autores/as

  • Miguel Rodríguez Véliz Facultad de Ciencias Informáticas, Universidad Técnica de Manabí
  • Anaisa Hernández González Universidad Tecnológica de La Habana "José Antonio Echevarría", CUJAE
  • Roberto Sepúlveda Lima Universidad Tecnológica de la Habana “José Antonio Echeverría”
  • Yulier Núñez Musa Investigador independiente

Palabras clave:

Protección del código, Ofuscación del grafo de llamadas

Resumen

Nuevos mecanismos de seguridad se han desarrollado para obstaculizar el accionar de atacantes contra aplicaciones informáticas. Los ataques de ingeniería inversa exponen la vulnerabilidad del código fuente. Aunque no es posible garantizar un 100% de seguridad, la ofuscación del código constituye una opción que hace más difícil el acceso y comprensión de este. La ofuscación del grafo de llamadas es la alternativa que presenta este trabajo y ha demostrado ser altamente eficiente al lograr niveles significativos de diversificación y ocultación. Este trabajo presenta los resultados del análisis de diferentes fuentes donde se exponen algunas técnicas empleadas en la ofuscación del código y se describe una nueva propuesta que emplea a la ofuscación del grafo de llamada.

Citas

Ahire, P., & Abraham, J. (2020). Mechanisms for Source Code Obfuscation in C: Novel Techniques and Implementation. International Conference on Emerging Smart Computing and Informatics (ESCI), (págs. 52-59). Pune. doi:https://doi.org/10.1109/ESCI48226.2020.9167661

Al-Hakimi, A. M., Sultan, A. B., Ghani, A. A., Ali, N. M., & Admodisastro, N. I. (2020). Hybrid Obfuscation Technique to Protect Source Code From Prohibited Software Reverse Engineering. IEEE Access, 8, 187326-187342. doi:https://doi.org/20.1109/ACCESS.2020.3028428

Bin Shamlan, A., Alaidaroos, A. S., Bin Merdhah, M. H., Bamatraf, M. A., & AA, Z. (2020). Experimentalevolution of the obfuscation techniques against reverse engineering. Proceedings of ICACI2020. Advances on smart and soft computing, (págs. 382-390). Spring Singapore.

Bin Shamlan, M., Bamatraf, M., & Zain, A. (2019). The Impact of Control Flow Obfuscation Technique on Software Protection Against Human Attacks. 2019 First International Conference of Intelligent Computing and Engineering (ICOICE). Hadhramout. doi:https://doi.org/10-1109/ICOIICE48418.2019.9035187

Céspedes Maestre, M. (2021). Detección de URLs maliciosos por mendio de técnicas de aprendizaje automático. Tesis de maestría, Universidad Nacional de Colombia. Obtenido de https://repositorio.unal.edu.co/handle/unal/79722

Cheng, X., Lin, Y., Gao, D., & Jia, C. (2019). DynOpVm: VM-Based Software Obfuscation with Dynamic Opcode Mapping. Applied Cryptography and Network Security (ACNS 2019, 11464, págs. 155-174. Cham. doi:https://doi.org/10.1007/978-3-030-21568-2_8

Collberg, C., Thomborson, C., & Low, D. (1997). Taxonomy off obfuscation transformations. Reporte técnico #148, Auckland University. Obtenido de https://research.sapace.aunckland.ac.nz/handle/2292/3491

Compton, R., Frank, E., Patros, P., & Koay, A. (2020). Embedding Java Classes with code2vec: Improvements from Variable Obfuscation. Proceedings of the 17th International Conference on Mining Software Repositories (MSR '20). Association for Computing Machinery, (págs. 243-253). New York. doi:https://doi.org/10.1145/3379597.3387445

Ebad, S., Daren, A., & Abawagy, J. (2021). Measuring software obfuscation quality -a systematic literature review. IEEE Access, 9, 99024-99038.

Fell, A., Pham, H. T., & Lam, S. (2019). TAD: Time Side-Channel Attack Defense of Obfuscated Source Code. 24th Asia and South Pacific Design Automation Conference (ASP-DAC), (págs. 1-6). Tokyo. doi:https://doi.org/10.1145/3287624.3287694

Gatica, J., Beron, M., Riesco, D., Pereira, M. J., Henriques, P., & Novais, P. (2023). Protección de activos de software. XXV Workkshop de Investigación en Ciencias de la Computación, (págs. 699-703). Junín. Obtenido de https://sedici.unlp.ed.ar/hadle/10915/164036

Hashemzade, B., & Abdolrazzagh-Nezhad, M. (2019). CSE: A Novel Dynamic Obfuscation Based on Control Flow, Signals and Encryptio . Journal of Computing and Security,, 6, 53-63. doi:https://doi.org/10.22108/jcs.2020.115402.1017

Khan, R. A., Khan, S. U., Khan, H. U., & Ilyas, M. (2022). Systematic literature review on security risks and its practices in secure software development. ieee Access, 10, 5456-5481.

Kumar, A., & Sharma, S. (2019). Design and Implementation of Obfuscating Tool for Software Code Protection. Advances in Interdisciplinary Engineering, (págs. 665–676). Singapore. doi:https://doi.org/10.1007/978-981-13-6577-5_64

Li, Y., Xiong, X., & Zhao, Y. (2021). Code Obfuscation Based on Inline Split of Control Flow Graph. 2021 IEEE International Conference on Artificial Intelligence and Computer Applications (ICAICA), (págs. 632-638). Dalian. doi:https://doi.org/10.1109/ICAICAS2286.2021.9498241

Lv, D., Zhao, L., & Chen, B. (2022). Research Based on LLVM Code Obfuscation Technology. International Conference on Industrial IoT, Big Data and Supply Chain (IIoTBDSC), (págs. 163-167). Beijing. doi:https://doi.org/10.1109/IIoTBDSC57192.2022.00039

Mahoney, W., McDonald, J., Grispos, G., & Mandal, S. (2023). Improvements on Hiding x86-64 Instructions by Interleaving. Proceedings of the 18th International Conference on Cyber Warfare and Security, (págs. 246-255). Maryland. doi:https://doi.org/10.34190/iccws.18.1.987

Morrison, P., Moye, D., Pandita, R., & Laurie, W. (2018). Mapping the Field of Software Life Cycle Security Metrics. Information and Software Technology, 102, 146-159. Obtenido de https://www.researchgate.net/profile/Dr-Rafiq-Khan/publication/341129438_The_State_of_the_Art_on_Secure_Software_Engineering_A_Systematic_Mapping_Study/links/5eb1197292851cb267741f4c/The-State-of-the-Art-on-Secure-Software-Engineering-A-Systematic-Mapping-Study.pdf

Ming Lu, K. (2019). Control flow obfuscation via CPS transformation. Proceedings of the 2019 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM 2019). Association for Computing Machinery, (págs. 54–60). New York. doi:https://doi.org/10.1145/3294032.3294083

Montejano Masa, J. P., Berón, M., Montejano, G. A., & Riesco, D. E. (2023). Métodos, técnicas y herramientas para la protección de sistemas de software. XXV Workkshop de Investigación en Ciencias de la Computación, (págs. 719-723). Junín. Obtenido de https://sedici.unlp.ed.ar/hadle/10915/164036

Moreno, A. (2023). Técnicas de evasión de antivirus y EDR. Tesis de grado, Escuela Técnica Superior de Ingeniería de sistemas de la Universidad Politécnica de Madrid, Madrid. Obtenido de https://oa.upm.es/id/eprint/75850

Quiroz Zambrano, S., & Macías Valencia, D. (2017). Seguridad en informática. consideraciones. Dominio de las Ciencias, 23(5), 676-688. doi:http://dx.doi.org/10.23857/dom-cien.pocaip.2017.3.5.ago.676-688

Roa Buendía, J. (2013). Seguridad informática. Madrid, España: McGraw Hill Education.

Rodríguez Véliz, J., Núñez Musa, Y., & Sepúlveda Lima, R. (2020). Call graph obfuscation and diversification: An approach. IET Information Security, 14(2), 241-252. doi:jttps://doi.org/10.1049/iet-ifs.2019.0216

Rodríguez Véliz, J., Núñez Musa, Y., & Sepúlveda Lima, R. (2023). Study of Code Obfuscation Techniques for the Security of Software Components. Intelligent Systems and Applications in Engineering, 11(10), 913-922. Obtenido de https://ijisae.org/index.php/IJISAE/article/view/3385

Rodríguez Véliz, J. (2025). Modelo para la privacidad de software basada en la diversificación y ofuscación del grafo de llamadas. Tesis de doctorado, Facultad de Ingeniería Informática, Universidad Tecnológica de La Habana.

Stallings, William  Brown, Lawrie (2022) Computer security: Principles and practice (5th edition). Pearson Education. Obtenido de https://studylib.net/doc/27914471/computer-security-principles-and-practice-5th-edition---w.

Tambunan, S., & Rokhman, N. (2023). C Source code Obfuscation using Hash Function and Encryption Algorithm. . Indonesian Journal of Computing and Cybernetics Systems (IJCCS), 17, págs. 227-236. doi:https://doi.org/10.22146/ijccs.86118

Wang, L., Li, Y., Zhang, H., Han, Q., & Chen, L. (2021). An Efficient Control-flow based Obfuscator for Micropython Bytecode. 2021 7th International Symposium on System and Software Reliability (ISSSR), (págs. 54-63). Chongqing. doi:https://doi.org/10.1109/ISSSR53171.2021.00028

Wang, Z., Shan, Y., Yang, Z., Wang, R., & Song, S. (2020). Semantic Redirection Obfuscation: A Control flow Obfuscation Based on Android Runtime. 2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom),, (págs. 1756-1763). doi:https://doi.org/10.1109/TrustCom50675.2020.00241

Whitman, Michael.  Mattord, Herbert (2022). Principles of Information Security (7th edition). Cengage Learning.

Xu, H., Zhou, Y., Ming, J., & Lyu, M. (2020). Layered obfuscation: a taxonomy of software obfuscation tecniques for layered security. Cibersegurity, 3, 1-18. Obtenido de https://link.springer.com/article/10.1186/542400-020-00049-3

Yang, X., Zhang, L., Ma, C., Liu, Z., & Peng, P. (2019). Android Control Flow Obfuscation Based on Dynamic Entry Points Modification. 22nd International Conference on Control Systems and Computer Science (CSCS), (págs. 296-303). Bucharest. doi:https://doi.org/10.1109/CSCS.2019.00054

Yi, J., Chen, L., Zhang, H., Li, Y., & Zhao, H. (2020). A Security Model and Implementation of Embedded Software Based on Code Obfuscation. En 2020 (Ed.), 2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom), (págs. 1606-1613). Guangzhou. doi:https://doi.org/10.1109/TrustCom50675.2020.00222

Descargas

Publicado

2025-12-31

Cómo citar

Rodríguez Véliz, M. ., Hernández González, A., Sepúlveda Lima, R., & Núñez Musa, Y. (2025). Protección ante ataques a aplicaciones informáticas ofuscando el grafo de llamadas. Revista Cubana De Transformación Digital, 6, e267 1–15. Recuperado a partir de https://rctd.uic.cu/rctd/article/view/267

Número

Sección

Artículos originales