Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/SLSS-8GPQ3N
Full metadata record
DC FieldValueLanguage
dc.contributor.advisor1Roberto da Silva Bigonhapt_BR
dc.contributor.advisor-co1Fernando Magno Quintao Pereirapt_BR
dc.contributor.referee1Marcelo d'amorimpt_BR
dc.contributor.referee2Claudionor Jose Nunes Coelho Juniorpt_BR
dc.contributor.referee3Mariza Andrade da Silva Bigonhapt_BR
dc.creatorAndrei Rimsa Alvarespt_BR
dc.date.accessioned2019-08-11T06:27:45Z-
dc.date.available2019-08-11T06:27:45Z-
dc.date.issued2010-12-03pt_BR
dc.identifier.urihttp://hdl.handle.net/1843/SLSS-8GPQ3N-
dc.description.abstractTainted variable attacks are originated from program inputs maliciously crafted to exploit software vulnerabilities. These attacks are common in server-side scripting languages, such as PHP. In 1997, Orbaek and Palsberg formalized the problem of detecting these exploits as an instance of type-checking, and has give an O(V3) algorithm to solve it. A similar algorithm was, ten years later, implemented on the Pixy free-software tool. In this dissertation we give an O(V2) solution to the same problem. Our solution uses Bodik et al.'s extended Static Single Assignment (e-SSA) program representation that can be efficiently computed and it enables us to treat the problem as an instance of graph reachability, where graph edges model data dependencies between program variables. Using the same infrastructure, we compared the data-flow solution with our technique. Both approaches have detected 36 vulnerabilities in well-known PHP programs, and our tests show that our approach tends to outperform the data-flow algorithm for larger PHP programs. We have reported the bugs that we found, and the implementation of our algorithm is now available for the phc open source PHP compiler.pt_BR
dc.description.resumoAtaques do tipo variáveis contaminadas ocorrem quando entradas de programas são manipuladas maliciosamente a afim de explorar falhas de segurança inerentes ao software afetado. Ataques deste tipo são comuns em linguagens de scripts como PHP, originadas no lado do servidor. Em 1997, Orbaek e Palsberg formalizaram o problema de detectar essas explorações como uma instância de verificação de tipo e mostraram que um algoritmo com complexidade de tempo O(V3) é capaz de resolver o problema. Um algoritmo similar foi implementado dez anos depois pela ferramenta open source Pixy para encontrar falhas de segurança em programas PHP. Este trabalho mostra que o mesmo problema pode ser resolvido em tempo O(V2). A solução proposta utiliza uma representação intermediária chamada e-SSA (extended Static Single Assignment) proposta por Bodik et al. em 2000. Essa representação pode ser computada eficientemente e permite que o problema seja tratado como um problema de alcance em grafos, onde arestas modelam dependências de dados entre variáveis de programas. Usando a mesma infra-estrutura de implementação, foi comparada a técnica proposta neste trabalho com e-SSA e a técnica que utiliza análise de fluxo de dados (data-flow). Ambas as abordagens possuem a mesma eficácia e foram capazes de detectar 36 vulnerabilidades em programas PHP conhecidos. Nos experimentos é possível observar que a abordagem proposta neste trabalho tem um melhor desempenho que o algoritmo utilizando data-flow. As falhas de segurança encontradas foram reportadas e a implementação do algoritmo proposto está disponível para o compilador de PHP open source phc.pt_BR
dc.languageInglêspt_BR
dc.publisherUniversidade Federal de Minas Geraispt_BR
dc.publisher.initialsUFMGpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectAnálise Estáticapt_BR
dc.subjectDetecção Automática de Falhas de Segurançapt_BR
dc.subjectcompilador phcpt_BR
dc.subjectPHPpt_BR
dc.subject.otherAlgoritmospt_BR
dc.subject.otherComputaçãopt_BR
dc.subject.otherCompiladores (Programas de computador)pt_BR
dc.titleAlgoritmo eficiente de análise estática para procurar ataques do tipo variáveis contaminadaspt_BR
dc.typeDissertação de Mestradopt_BR
Appears in Collections:Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
andreirimsaalvares.pdf2.9 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.