Aplicação Dinâmica de Políticas Estáticas de Fluxo - Oliveira, Carina Capelão de; Cardoso, Glauco Gonçalves; Pereira, Fernando Magno Quintão (Anais do Simpósio Brasileiro de Cibersegurança (SBSeg), 2017)
A análise de fluxo de informação é atualmente uma das técnicas mais importantes para descobrir vulnerabilidades em programas. Desde a sua concepção, esta técnica evoluiu ao ponto de alcançar grande precisão e escalabilidade. Entretanto, por ser estática, a análise de fluxo de informação é conservadora e, para garantir corretude, ela precisa invalidar alguns programas que são conhecidamente seguros. Enquanto a análise permanece totalmente estática, nem mesmo algoritmos exponenciais conseguem mudar esse cenário. Para abordar esse problema, propomos uma combinação de análise estática e checagem dinâmica para ampliar a precisão de técnicas de análise de fluxo de informação. Nossas checagens dinâmicas nos permitem detectar e descartar caminhos inseguros durante a execução do programa e preservar fluxos seguros de informação. Dessa forma, podemos garantir a segurança de programas mesmo diante de propriedades difíceis de serem analisadas estaticamente, como por exemplo polimorfismo de subtipagem. Para validar nosso trabalho, materializamos nossas ideias em uma ferramenta chamada InspectorJ, que insere instrumentação em um programa para prevenir a execução de caminhos inseguros.