• Nenhum resultado encontrado

OTIMIZAÇÃO: Nesta etapa, são realizadas modificações dos parâmetros de

METODOLOGIA PROPOSTA PARA A IMPLEMENTAÇÃO DA SEGURANÇA DA NOC

5) OTIMIZAÇÃO: Nesta etapa, são realizadas modificações dos parâmetros de

configuração da NoC baseadas nos resultados da avaliação de desempenho (etapa 4) da NoC-QoSS. O objetivo destas modificações é a otimização dos valores das métricas de desempenho.

A Figura 4.2. apresenta a metodologia proposta dentro do fluxo de projeto de uma NoC-QoSS.

79

4.2. PRIMEIRA ETAPA: IDENTIFICAÇÃO

A etapa de identificação tem por objetivo o reconhecimento das transações críticas que ocorrem no SoC. No modelo comportamental, a transação corresponde ao compartilhamento de variáveis entre os diversos comportamentos do sistema. Estas variáveis trafegam ao longo de canais. Para a realização desta etapa, são necessárias duas informações:

a) Modelo comportamental do sistema: O modelo comportamental do sistema é

constituído de variáveis (armazenam dados), comportamentos (tarefas que transformam os dados) e canais (transferem dados).

b) Política de segurança do sistema: A política de segurança define um conjunto

de regras pelas quais é definido o acesso aos recursos. Esta depende do modelo de ameaça do sistema, isto é, contra o que o ambiente de operação do SoC deve estar prevenido, as possíveis ameaças, as vulnerabilidades do sistema e os riscos que se está disposto a enfrentar.

Nesta etapa, o modelo comportamental é usado para listar as tarefas do SoC e identificar o fluxo de informação dentro do sistema. A política de segurança do sistema é utilizada na identificação das variáveis críticas. Como resultado, é obtido um grafo de segurança que designaremos em nosso trabalho de SAG (do inglês Security Application Graph). Segundo a abstração do sistema, definimos dois subtipos de SAGs: SAG-task e SAG-IP. Nesta etapa é usado o SAG-task. O SAG-task é constituído pelo conjunto de tarefas (conjunto de círculos na Figura 4.3) e canais (setas na Figura 4.3) do sistema. Cada canal é caracterizado pelo conjunto de variáveis transferidas entre um par de tarefas a e b (Var a-b). No SAG-task são destacados os canais e variáveis críticos do sistema (linhas vermelhas mais grossas na Figura 4.3).

A Figura 4.3 apresenta um exemplo do resultado da primeira etapa de nossa metodologia. Este SoC realiza 7 tarefas (T1-T7). Neste sistema foram identificados os

80 canais entre as tarefas T1-T7, T2-T3, T4-T3 e T4-T5, como os canais que transferem variáveis críticas. Estes canais são representados no grafo pelas setas destacadas em vermelho. O exemplo da Figura 4.3 possui 4 canais críticos.

Figura 4.3. Exemplo de conjunto de tarefas do SoC.

4.3. SEGUNDA ETAPA: DEFINIÇÃO

A etapa de definição tem como propósito o estabelecimento dos objetivos a serem atingidos pela estrutura de comunicação em termos de segurança e desempenho e que serão avaliados mediante a estimativa de um conjunto de métricas.

Para a realização desta etapa, são necessárias três informações:

a) Componentes da estrutura de computação: Estes resultam da escolha dos

componentes IP de computação. Como resultado, o conjunto de tarefas do SoC foram alocadas neste conjunto de módulos IP.

b) Política de segurança do sistema: A política de segurança define um conjunto

de regras pelas quais é definido o acesso aos recursos. Esta deve prever o ambiente de operação do SoC, as possíveis ameaças, as vulnerabilidades do sistema e os riscos que se está disposto a enfrentar.

c) SAG-task (Security Application Graph): O grafo resultante da etapa anterior de

81 O mapeamento das tarefas nos componentes IP de computação do sistema é uma tarefa complexa [WAL09] realizada pelos arquitectos da estrutura de computação do SoC. Esta tarefa foge do escopo de nosso trabalho. Porém outras referências podem ser consultadas [WAL09] [SCH09b].

Na segunda etapa de nossa metodologia são identificadas as transações críticas que ocorrem entre os diferentes módulos hardware/software da estrutura de computação do SoC. Para cada par de componentes da estrutura de computação são definidos os serviços que devem ser satisfeitos pela estrutura de comunicação. Como resultado desta etapa obtém-se o grafo SAG-IP e a tabela de serviços da NoC. O SAG-IP destaca o conjunto de transações críticas entre os diferentes IPs da estrutura de computação. A tabela de serviços lista para cada par mestre-escravo de IPs, os serviços que devem ser satisfeitos pela estrutura de comunicação e os seus níveis correspondentes.

A Figura 4.4 apresenta o SAG-IP resultado da execução da segunda etapa de nossa metodologia para o SoC descrito na Figura 4.3.

Figura 4.4. Exemplo de conjunto de tarefas do SoC.

A estrutura de computação do SoC do exemplo é constituída por 5 IPs. As setas indicam a comunicação entre os diferentes IPs. Os círculos dentro de cada IP correspondem às tarefas do SoC. Note que várias tarefas podem ser alocadas a um mesmo IP. As linhas vermelhas entre os diferentes IPs (IP1-IP2 e IP3-IP4)

82 correspondem às informações críticas que trafegam pela estrutura de comunicação do SoC.

A Tabela 4.1 apresenta um exemplo da tabela de serviços, obtida na etapa de definição do projeto das NoCs-QoSS. Esta informação pode ser obtida de forma automática ou manual, após uma análise do projetista. Esta inclui o conjunto de transações, o tipo de serviço requerido e o nível de cada serviço.

Tabela 4.1. Informações da etapa de definição.

Par Transação Serviço Nível

IP1- IP2

Leitura Segurança Controle de acesso Garantido

Escrita Desempenho Vazão Melhor esforço

Escrita com espera Segurança Autenticação Diferenciado

IP1- IP3 Leitura exclusive Desempenho Vazão Garantido

Escrita Desempenho Latência Melhor esforço

IP2- IP3 Leitura Desempenho Jitter Garantido

Leitura enlaçada Desempenho Latência Melhor esforço

IP3- IP4 Escrita Segurança Integridade Melhor esforço

Escrita condicional Segurança Autenticação Garantido

IP4- IP5 Escrita condicional Desempenho Taxa de perda Melhor esforço

IP2- IP5 Leitura exclusive Desempenho Jitter Diferenciado

Escrita Desempenho Vazão Melhor esforço

A análise destes requisitos resulta na definição do conjunto dos objetivos de comunicação e segurança. Estes objetivos são transformados em métricas que posteriormente serão avaliadas na quarta etapa do projeto QoSS (avaliação).

4.4. TERCEIRA ETAPA: IMPLEMENTAÇÃO

A etapa de implementação tem como objetivo a definição dos parâmetros de configuração da NoC-QoSS. Estes parâmetros são afetados pela seleção dos mecanismos utilizados para implementar os serviços de segurança.

83 Para a realização desta etapa, são necessárias três informações:

a) Tabela de serviços: Resultado da execução da segunda etapa (definição) de nossa

metodologia. Esta contém a informação dos serviços que a NoC deve fornecer para satisfazer os requisitos de segurança e desempenho do sistema.

b) Biblioteca de componentes da NoC: A biblioteca é constituída pelo conjunto de

roteadores e enlaces que constituem a NoC. Estes componentes são caracterizados pela totalidade ou um subconjunto dos parâmetros apresentados na Tabela 2.5. Estes componentes podem ser passíveis de parametrização ou não. Nossa metodologia pode ser implementada para qualquer NoC. Em nosso estudo utilizamos a rede Hermes_Temp [SEP06].

c) Biblioteca de mecanismos de segurança: Esta biblioteca é constituída pelo

conjunto de mecanismos que podem ser adicionados à NoC para implementar os diferentes serviços de segurança.

d) Características do projeto: Inclui as restrições do projeto como tempo de

desenvolvimento e as regras de comunicação do sistema (protocolo de comunicação).

Como resultado da etapa de implementação, é gerada uma instância da rede NoC- QoSS. Isto é, são estabelecidos os valores dos parâmetros que constituem a NoC. A estrutura de comunicação neste nível é constituída por um conjunto de roteadores e enlaces que devem ser configurados de forma que satisfaçam os requisitos de segurança e desempenho do sistema.

A NoC-QoSS pode ser projetada de duas formas:

1. Alternativa 1: Integrar o conceito QoSS na interface da rede. Permite agregar