Utilize este identificador para citar ou criar um atalho para este documento: https://hdl.handle.net/10923/10908
Tipo: masterThesis
Título: Detecção de ataques por controle de fluxo de execução em sistemas embarcados: uma abordagem em hardware
Autor(es): Porcher, Bruno Casagrande
Orientador: Vargas, Fabian Luis
Lutenberg, Ariel
Editora: Pontifícia Universidade Católica do Rio Grande do Sul
Programa: Programa de Pós-Graduação em Engenharia Elétrica
Data de Publicação: 2017
Palavras-chave: SISTEMAS EMBARCADOS (COMPUTADORES)
SISTEMAS (COMPUTAÇÃO)
ENGENHARIA
Resumo: O uso de sistemas computacionais está presente nos mais diversos meios em que vivemos e esta rápida expansão acaba por expor a população aos mais diversos tipos de vulnerabilidades. Um erro em um sistema crítico poderá ocasionar desde prejuízos financeiros, roubo de dados, danos ambientais ou até riscos à vida humana. Este trabalho foi desenvolvido visando dificultar que a tomada do controle de sistemas computacionais seja feita por um usuário mal intencionado. Este trabalho propõe uma abordagem em hardware para detecção de ataques que eventualmente causem qualquer tipo de alteração no fluxo de execução de um programa, com o diferencial de que não é necessário nenhuma alteração, nem mesmo o conhecimento prévio do código-fonte do programa da aplicação em questão. Assim, em mais detalhes, o objetivo deste trabalho é assegurar a confiabilidade de um sistema crítico, do ponto de vista em que o software que foi desenvolvido pelo programador seja idêntico ao software que está sendo executado no processador. Para isso serão utilizados pontos de checagem no programa capazes de verificarem a integridade do sistema durante a sua execução. A técnica proposta foi implementada através de um software que por sua vez, é responsável pela identificação prévia dos blocos básicos através do arquivo executável do sistema crítico, e um hardware dedicado, denominado de Watchdog, instanciado juntamente com o processador do sistema crítico. Para a validação da técnica proposta foram realizadas simulações funcionais e a avaliação foi realizada a partir de trechos de códigos capazes de exporem vulnerabilidades da base de dados, denominada Common Vulnerabilities and Exposures (CVE, 2017). A validação e a avaliação foram realizadas adotando uma versão soft-core do processador LEON3.Os resultados experimentais demonstraram a eficiência da técnica proposta em termos de detecção de corrupções em trechos de código e na execução de trechos de código não pertencentes ao programa original. Finalmente uma analise das principais penalidades agregadas pela técnica foram realizadas.
The use of computer systems is present in the most diverse environments in which we live and this rapid expansion exposes the population to the most diverse types of vulnerabilities. Errors in critical systems may result in financial loss, data theft, environmental damage or may even endanger human life. This work was developed to make it more difficult for malicious users to take control of computer systems. A hardware-based approach to detect attacks that cause changes to the program’s execution flow, but with no necessity for change or even the previous knowledge of the source code, is proposed. Thus, the purpose of this work is to ensure reliability by guaranteeing that the software running on the processor is equal to the one developed by the programmer. To do so, checkpoints in the program verify the integrity of the system during its execution. The proposed technique is implemented by software, which is responsible for the prior identification of the basic blocks using the critical system’s executable file. A dedicated hardware, denominated Watchdog is instantiated with the processor of the critical system and validated by functional simulations. The technique’s evaluation was carried out by executing in the soft-core version of a LEON3 processor for code sections, which are capable of exposing the database’s, denominated Common Vulnerabilities and Exposures (CVE, 2017). The experimental results demonstrate th proposed technique’s efficiency in terms of corruption detection in code snippets and in the execution of snippets of code not belonging to the original program. Finally, an analysis of the main overheads is performed.
URI: http://hdl.handle.net/10923/10908
Aparece nas Coleções:Dissertação e Tese

Arquivos neste item:
Arquivo Descrição TamanhoFormato 
000486813-Texto+Completo-0.pdfTexto Completo1,27 MBAdobe PDFAbrir
Exibir


Todos os itens no Repositório da PUCRS estão protegidos por copyright, com todos os direitos reservados, e estão licenciados com uma Licença Creative Commons - Atribuição-NãoComercial 4.0 Internacional. Saiba mais.