10 likes | 91 Views
PROTEÇÃO, RASTREABILIDADE E VERIFICAÇÃO DE INTEGRIDADE DE DISPOSITIVO COM SOFTWARE EMBARCADO Davidson Boccardo, Tiago Nascimento, Raphael Machado, Charles Prado, Flávio Moraes, Luiz Fernando Rust DITEL/DIMCI {drboccardo, tmnascimento, rcmachado, cbprado, fpmoraes, lfrust}@inmetro.gov.br. A.
E N D
PROTEÇÃO, RASTREABILIDADE E VERIFICAÇÃO DE INTEGRIDADE DE DISPOSITIVO COM SOFTWARE EMBARCADO Davidson Boccardo, Tiago Nascimento, Raphael Machado, Charles Prado, Flávio Moraes, Luiz Fernando Rust DITEL/DIMCI {drboccardo, tmnascimento, rcmachado, cbprado, fpmoraes, lfrust}@inmetro.gov.br A B B A B A B A A B A A B B A B I0 I1 I2 I3 I4 I5 53 Resumo: Com o advento dos dispositivos com software embarcado, o processo de certificação deve envolver, adicionalmente, a validação dos mesmos de acordo com certos requisitos. Estes requisitos devem estar associados a princípios de segurança da informação, tais como integridade, autenticidade e confidencialidade. Este trabalho visa a oferecer subsídios para a especificação e implementação de metodologias que ofereçam proteção ao dispositivo e, ao mesmo tempo, ofereçam suporte para rastreabilidade e verificação de integridade pela entidade regulamentadora. • 1. Introdução • Com o aumento no número de dispositivos com software embarcado em diversas áreas, há uma necessidade de um controle externo que certifique que o produto não apresente nenhuma funcionalidade não especificada. Estes softwares embarcados trazem consigo um conjunto de desafios completamente novos para a Metrologia Legal a fim de garantir os requisitos associados a princípios de segurança da informação, tais como integridade, autenticidade e confidencialidade. Estes desafios envolvem a elaboração de novas metodologias de proteção, rastreabilidade e verificação de integridade. • 2. Objetivo • Este trabalho está contido no contexto de um projeto para proteção, rastreabilidade e verificação de integridade de softwares embarcados que tem por objetivo a especificação e a implementação de metodologias que permitam que sistemas de software embarcado apresentem um determinado grau de proteção e, ao mesmo tempo, propiciam suporte para rastreabilidade e verificação de integridade pela entidade regulamentadora. • 3. Proteção de software embarcado • Proteção de software embarcado está tipicamente relacionada com a privacidade e a integridade do código e dos dados. Uma abordagem possível, é o uso de mecanismos de hardware, contudo, estes não são economicamente viáveis e nem sempre seguros [1,2]. • Fig. 1: Ataque ao hardware para extração do software embarcado • Assim, mecanismos baseados em transformações de código demonstram ser um caminho alternativo e mais viável para proteção de software embarcado [3]. Estas transformações de código são tipicamente classificadas em três categorias: ofuscação de código, tamper-proofing e marca d’água. Estas podem ser definidas como procedimentos para dificultar um indivíduo de obter ganhos sobre o software, seja por motivos financeiros, sabotagem ou vingança. • Fig. 2: Ofuscação por intercalação cifrada de blocos de código • Fig. 3: Tamper-proofing via rede de verificadores e reparadores • 4. Rastreabilidade de software • A rastreabilidade de software busca meios para garantir que o código-executável a ser utilizado por um dispositivo foi efetivamente gerado a partir do código-fonte disponibilizado pelo fabricante e avaliado previamente pelo Inmetro. Figura 4 exibe uma técnica de efetuar a rastreabilidade através da análise do fluxo de controle e dos dados, associados aos programas – código-fonte e código-executável [4]. • Código-fonte • Código-executável • Fig. 4: Rastreabilidade de códigos-executáveis pela análise • do fluxo de controle • 5. Verificação de integridade • A verificação de integridade de software trata de verificar a posteriori a integridade de um software previamente aprovado pelo Inmetro, garantindo que a versão em execução corresponde exatamente à versão previamente aprovada • 6. Conclusão • Com a informatização de diversas áreas baseadas em dispositivos de software embarcado, é importante assegurar que estes não apresentem comportamentos intencionais/não intencionais que venham a comprometer a segurança do sistema como um todo. Daí a necessidade de pesquisas relacionadas à proteção para garantir os princípios associados a segurança da informação e à rastreabilidade e verificação de integridade com a finalidade de propiciar mecanismos para a entidade regulamentadora de assegurar a correspondência e a integridade do software embarcado no dispositivo. • 7. Bibliografia • [1] Anderson, R.; Kuhn, M. “Tamper Resistance – A Cautionary Note”. Proc. Second USENIX Workshop Electronic Commerce, 1996. • [2] Anderson, R. “ Why Cryptosystems Fail” . Comm. ACM, vol. 37, no. 11, Nov, 1994. • [3] Boccardo, D. R.; Machado, R. C. S.; Carmo, L. F. R. C. “Transformações de Código para Proteção de Software”. Minicursos SBSEG 2010. Fortaleza: Sociedade Brasileira de Computação, Outubro, 2010. • [4] Boccardo, D. R.; Nascimento, T. M.; Machado, R. C. S.; Prado, C. B.; Carmo, L. F. R. C. “Traceability of Executable Codes using Neural Networks”. In: nformation Security Conference, LNCS 6531, pp. 241–253, 2011.