Go to:
Logótipo
Comuta visibilidade da coluna esquerda
Você está em: Start > Publications > View > Predicting Obfuscated Code Growth using Machine Learning
Publication

Predicting Obfuscated Code Growth using Machine Learning

Title
Predicting Obfuscated Code Growth using Machine Learning
Type
Thesis
Year
2025-07-11
Authors
Nuno Miguel Tavares Alves
(Author)
FEUP
View Personal Page You do not have permissions to view the institutional email. Search for Participant Publications Without AUTHENTICUS Without ORCID
Thesis
Scientific classification
FOS: Engineering and technology > Electrical engineering, Electronic engineering, Information engineering
Associated Institutions
Other information
Resumo (PT): A ofuscação de código tornou-se uma ferramenta essencial para a segurança de aplicações de soft- ware, ao tornar o código-fonte mais difícil de compreender e de reverter através de engenharia reversa. Embora a ofuscação seja amplamente utilizada em várias linguagens de programação, ganhou particular destaque no JavaScript, uma tecnologia crítica para o funcionamento das apli- cações web modernas. Através de uma série de transformações, como o achatamento de fluxo de controlo, renomeação de variáveis e divisão de código, a ofuscação altera a estrutura do código sem alterar o seu comportamento funcional. Contudo, apesar da sua eficácia em proteger a propriedade intelectual, a ofuscação frequentemente introduz um compromisso: o aumento do tamanho do código e um impacto negativo no desempenho, que pode afetar a capacidade de resposta das apli- cações e a experiência dos utilizadores. O problema de estimar com precisão esses impactos de forma antecipada é particularmente desafiante devido à natureza não linear e combinatória das técnicas de ofuscação. O efeito cumu- lativo de diferentes estratégias de ofuscação, aplicadas em várias sequências, pode resultar num crescimento imprevisível do código, dificultando aos programadores o equilíbrio entre segurança e desempenho. Assim, existe a necessidade de um modelo preditivo que permita prever o cresci- mento do tamanho do código com base nas transformações específicas aplicadas. Esta dissertação propõe uma abordagem inovadora que utiliza modelos de aprendizagem com- putacional para prever o crescimento do tamanho do código em aplicações JavaScript sujeitas a diferentes técnicas de ofuscação. Através do treino de modelos com um conjunto abrangente de amostras de código ofuscado, esta pesquisa visa capturar as interações complexas entre vários métodos de ofuscação. O resultado é um modelo preditivo que pode apoiar os programadores na seleção das estratégias de ofuscação mais adequadas, servindo também como uma ferramenta de suporte à decisão, permitindo-lhes antecipar e mitigar os compromissos de desempenho associa- dos aos mecanismos de proteção de código. Em última instância, as conclusões desta pesquisa poderão contribuir para o desenvolvimento de práticas de ofuscação mais eficientes e práticas na indústria de software, apoiando a criação de aplicações web seguras e de alto desempenho.
Abstract (EN): Code obfuscation has become an essential tool for securing software applications by making source code difficult to understand and reverse-engineer. While obfuscation is widely used across multiple programming languages, it has gained particular traction in JavaScript, which is integral to the functioning of modern web applications. Through a series of transformations such as control flow flattening, variable renaming, and code splitting, obfuscation alters the code's structure without changing its functional behavior. However, despite its efficacy in protecting intellectual property, obfuscation often introduces a trade-off: increased code size and performance overhead, which can adversely affect application responsiveness and user experience. The problem of accurately estimating these impacts beforehand is particularly challenging due to the non-linear and combinatorial nature of obfuscation techniques. The cumulative effect of different obfuscation strategies, applied in various sequences, can lead to unpredictable code growth, making it difficult for developers to balance security and performance. Thus, there is a need for a predictive model that can forecast the growth in code size based on the specific transformations applied. This thesis proposes a novel approach leveraging machine learning to predict the growth in code size for JavaScript applications subjected to different obfuscation techniques. By training models on a comprehensive dataset of obfuscated code samples, this research aims to capture the complex interactions between various obfuscation methods. The resulting predictive framework will not only assist developers in selecting optimal obfuscation strategies but also serve as a decision-support tool, enabling them to anticipate and mitigate the performance trade-offs associated with code protection mechanisms. Ultimately, the findings of this research can contribute to the development of more efficient and practical obfuscation practices in the software industry, supporting the creation of secure, high-performance web applications.
Language: English
No. of pages: 113
Documents
We could not find any documents associated to the publication with allowed access.
Recommend this page Top
Copyright 1996-2025 © Instituto de Ciências Biomédicas Abel Salazar  I Terms and Conditions  I Acessibility  I Index A-Z
Page created on: 2025-09-25 at 08:52:30 | Privacy Policy | Personal Data Protection Policy | Whistleblowing | Electronic Yellow Book