1.Introdução Com o aumento no número de dispositivos com software embarcado em diversas áreas,...
Transcript of 1.Introdução Com o aumento no número de dispositivos com software embarcado em diversas áreas,...
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
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
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.
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álisedo 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.
A
B
A
A B
B
A B
B
A A
A B
B
A B
I0 I1 I2 I3 I4 I5