1.introdução com o aumento no número de dispositivos com software embarcado em diversas áreas,...

1
1. Introdução Com o aumento no número de dispositivos com software embarcado em diversas áreas, 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 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á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. A B A A B B A B B A A A B B A B I 0 I 1 I 2 I 3 I 4 I 5

Upload: internet

Post on 16-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

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