TaintJSec: um método de análise estática de marcação em código Javascript para detecção de vazamento de dados sensíveis - Damasceno, Alexandre Braga (2017)
Javascript é uma das linguagens de programação mais utilizadas no mundo e continua expandindo-se gradativamente. Tal expansão deve-se à grande flexibilidade e dinamicidade que a linguagem possui, o que facilita bastante a criação de aplicações. Porém, essa mesma característica que a torna uma linguagem de sucesso é também o que torna difícil a análise estática do fluxo de execução, processo esse que visa identificar a presença de códigos maliciosos nas aplicações. Este trabalho apresenta o TaintJSec, uma nova abordagem que utiliza análise estática de marcação de código JavaScript para identificar e prevenir o vazamento de informação sensível. O diferencial do TaintJSec em relação aos outros trabalhos que utilizam análise estática de marcação é que ele consegue analisar o fluxo de códigos implícitos, acompanha a propagação do taint tag na execução da função eval e identifica o vazamento de informação em códigos ofuscados. Para validar a eficácia da abordagem, foram realizados testes de propagação do taint tag, dividos em 13 grupos de testes distintos. Em seguida, foram realizados testes para avaliar a propagação na execução da função eval. Por fim, a abordagem foi testada em um código malicioso, ofuscado por cinco ferramentas diferentes, específicas para tal finalidade. Os resultados obtidos demonstraram que a abordagem é eficaz na detecção do vazamento de informação e mais eficiente que outros métodos do estado da arte.