Mecanismo de Verificação de Integridade de Software Baseado em BIOS UEFI
Resumo
Este artigo descreve um mecanismo de verificação que aproveita os recursos do BIOS UEFI para atestar a integridade de software de sistemas embarcados utilizados na Internet das Coisas. Este mecanismo tem como componente principal uma aplicação, chamada AVIS UEFI, executada na fase de Aplicativos de Pré-Boot da inicialização que utiliza assinatura digital e chaves armazenadas em um dispositivo criptográfico para verificar se o software foi adulterado. De acordo com o resultado da verificação de integridade, o sistema é inicializado ou desligado. Como prova de conceito, um protótipo foi desenvolvido e avaliado considerando um estudo de caso real. Os resultados obtidos demonstram a viabilidade técnica do mecanismo.
Referências
Ara, Tabassum; Gajkumar Shah, Pritam; Prabhakar, M. Internet of Things Architecture and Applications: A Survey. Indian Journal of Science and Technology, [S.l.], dez. 2016. ISSN 0974 -5645. Basile, Cataldo; Di Carlo, Stefano; Scionti, Alberto. FPGA based remote code integrity verification of programs in distributed embedded systems Proceedings of. IEEE Transactions on Systems, Man, And Cybernetics Part C 1, 2012.
Carmo, Luiz Fernando Rust da Costa; Machado, Raphael Carlos Santos. Verificação de integridade de software embarcado através de análise de tempo de resposta. Anais do IX Simpósio Brasileiro em Segurança da Informação. Campinas, v.1, 2009.
Carmo, Luiz Fernando Rust da Costa; Machado, Raphael Carlos Santos. Metrologia Temporal na Verificação de Integridade de Software em Instrumentos de Medição. Produto & Produção, vol. 11, n. 1, p. 80 88, fev. 2010 Edição Metrologia.
Castro, Cristiano G. de; Moraes, Flávio P; Boccardo, Davidson R; Machado, Raphael C. S; Brandão, Paulo C; Carmo, Luiz F. R. C. FVIS: Uma Ferramenta de Verificação de Integridade de Software. Conference: X International Congress on Electrical Metrology, Buenos Aires, Argentina, v. 1, setembro, 2013.
Fink, Glenn A.; Zarzhitsky, Dimitri V; Carrol, Thomas E; Farquhar, Ethan D. Security and privacy grand challenges for the Internet of Things. National Security Directorate. Pacific Northwest National Laboratory: Washington, USA, 2015.
Liu, Hong; Li, Hongmin; Vasserman, Eugene Y. “Practicality of Using Side-Channel Analysis for Software Integrity Checking of Embedded Systems”. In: 11th EAI International Conference on Security and Privacy in Communication Networks, SecureComm 2015, Dallas, TX, USA, October 26-29, 2015.
MeiHong, Li; JiQiang, Liu. USB Key-Based Approach for Software Protection. Proceedings of International Conference on Industrial Mechatronics and Automation (ICIMA), 2009, IEEE.
Miritz, Luiz Alfredo Dittgen. Programação de Sistemas Embarcados usando Microcontroladores: um estudo de caso. Anais do EATI Encontro Anual de Tecnologia da Informação e STIN – Simpósio de Tecnologia da Informação da Região Noroeste do RS. Ano 6 n. 1 p. 85-92 Nov/2016.
Seshadri, Arvind; Perrig, Adrian; Doorn, Leendert van; Khosla, Pradeep. Using Software-based Attestation for Verifying Embedded Systems in Cars. Proceedings of IEEE Symposium on Security and Privacy, 2016.
Zheng, Shi-yuan; Liu, Jun. An USB-Key-Based Approach for Software Tamper Resistance. Proceedings of 3rd International Conference on Advanced Computer Theory and Engineering (ICACTE), 2010, IEEE.