SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Modelo de segurança OPC
UA
Dalton Cézane
Instituto Federal de Pernambuco
(IFPE)
Escopo
• Descrição do modelo de segurança da
Arquitetura Unificada OPC UA;
• Descrição das ameaças de segurança;
• Visão das características de segurança;
• Como UA utiliza outros padrões para
segurança.
Alguns termos
• Certificado;
• Comando;
• Evento;
• Mensagem;
• Notificação;
• Subscrição.
Termos de segurança OPC
UA
• Autenticação: verificação da identidade
de uma entidade como cliente, servidor
ou usuário;
• Autorização: direito ou permissão
garantida a uma entidade para acessar
um recurso de sistema ;
• Confidencialidade: proteção de dados
(em transmissão ou armazenados em
algum local) contra ataques passivos;
Termos de segurança OPC
UA
• Integridade: busca assegurar que a
mensagem é recebida como enviada, ou seja,
não foi modificada durante a transmissão;
• Auditoria: examina a segurança do sistema
em operação e registra os eventos em logs;
• Não-repúdio: previne qualquer remetente e
destinatário da negação da mensagem
transmitida;
• Disponibilidade: significa o tempo de
execução do sistema sem qualquer
impedimento (sem interrupção na execução);
Termos de segurança OPC
UA
• Aplicação OPC UA: instância de um cliente ou
servidor OPC UA rodando em um computador
individual;
• Certificado de instância de aplicação:
certificado digital de uma instância individual
de uma aplicação que está instalada em um
host individual;
• Certificado X.509: certificado em um dos
formatos definidos pelo X.509 v1, 2 ou 3
(seqüência de dados e uma assinatura digital
computada nesta seqüência);
Termos de segurança OPC
UA
• Certificado digital: estrutura que associa
uma identidade a uma entidade, tal como
um usuário ou uma instância de
aplicação;
• Conjunto de chave de sessão: chave
simétrica usada para encriptar ou
assinar mensagens em uma sessão ou
dois pares de chaves assimétricas que
são usadas para este fim;
Termos de segurança OPC
UA
• Símbolo (token) de segurança: identificador
para um conjunto de chaves de sessão usado
para encriptar e assinar mensagens trocadas
entre cliente e servidor;
• Canal de segurança: caminho de
comunicação estabelecido entre um cliente
OPC UA e um servidor, autenticados um pelo
outro usando certos serviços OPC UA, e pelo
qual parâmetros de segurança são
negociados e aplicados;
Termos de segurança OPC UA
• Nonce: número pseudo-randômico que
é usado apenas uma vez (usados em
algoritmos que geram chaves de
segurança ou em testes de
desafio/resposta);
• Criptografia assimétrica: utiliza duas
chaves no processo de
encriptação/decriptação dos dados
(chave pública e chave privada);
Termos de segurança OPC UA
• Criptografia simétrica: utiliza apenas
uma chave no processo de
encriptação/decriptação dos dados
(esta chave deve ser mantida segura);
• Função Hash: calcula um valor tal que é
impraticável descobrir seu valor original
(antes de passar pela função);
Termos de segurança OPC UA
• Infra-estrutura de chave pública: sistema de CAs que
desempenha um conjunto de gerenciamento de
certificado, gerenciamento de arquivos, gerenciamento
de chaves, e funções de gerenciamento de símbolos
para uma comunidade de usuários em uma aplicação
de criptografia assimétrica;
• Chave pública: componente de divulgação pública de
um par de chaves criptográficas usado para
criptografia assimétrica;
• Chave privada: componente secreto de um par de
chaves criptográficas usado por criptografia
assimétrica.
Ameaças de segurança
• Flooding de mensagem: tem o objetivo de
derrubar o servidor ou seus componentes,
através de um grande volume de mensagens.
Ameaça disponibilidade;
• Eavesdropping: um intruso pode gravar e
capturar mensagens, caso tenha
comprometido um sistema subjacente.
Ameaça, principalmente, confidencialidade.
Ameaças de segurança
• Mensagem mascarada: um intruso pode
forjar mensagens de um cliente ou de
um servidor. Ameaça integridade,
autorização e não-repúdio;
• Alteração de mensagem: mensagens
podem ser capturadas, alteradas e
reenviadas. Ameaça integridade,
autorização e não-repúdio;
Ameaças de segurança
• Replay de mensagens: mensagens
podem ser capturadas e enviadas a
clientes e servidores OPC. Ameaça
integridade e não-repúdio;
• Mensagens mal formatadas: intrusos
podem preencher mensagens com
estruturas inválidas e enviá-las a
clientes e servidores OPC UA. Ameaça
integridade e não-repúdio;
Ameaças de segurança
• Perfilamento de servidor: um intruso envia
mensagens com formatação válida ou inválida
ao servidor OPC. Ameaça confidencialidade
diretamente e todas as outras qualidades
indiretamente;
• Sessão hijacking: Um intruso injeta
mensagens com formatação OPC-UA válida
dentro de uma sessão existente através da
observação de uma sessão. Ameaça todos os
pontos de segurança;
Ameaças de segurança
• Servidor rogue: um ataque pode gerar
um servidor malicioso ou instalar um
servidor original em um host diferente.
Ameaça todos os pontos de segurança;
• Cliente rogue: um intruso gera um
cliente malicioso ou um genuíno e envia
mensagens para o servidor de uma
forma diferente. Ameaça todos os
pontos de segurança;
Ameaças de segurança
• Comprometimento de credenciais de
usuário: intruso obtém credenciais de
usuário tais como nomes de usuário,
senhas, certificados, ou chaves, pela
observação dos mesmos em papéis,
telas, comunicações eletrônicas, ou
quebrando-os por suposição ou uso de
ferramentas automáticas como
“quebradores” de senhas. Ameaça
autorização.
Ambiente de segurança OPC UA
• O uso de OPC UA pode ser alvo atrativo para
espionagem industrial ou sabotagem;
• Pode ser exposto a ameaças através malware
(como worms) circulando em redes públicas;
• Alguns clientes e servidores OPC UA podem
ficar no mesmo host e serem mais facilmente
protegidos de ataques externos;
Ambiente de segurança OPC UA
• Alguns clientes e servidores ficam em
diferentes hosts na mesma rede de
operações e podem ser protegidos pelos
limites de segurança que separam a rede de
operações das conexões externas;
• Algumas aplicações OPC UA rodam em
ambientes relativamente abertos onde
usuários e aplicações são difíceis de
controlar, enquanto outras são embutidas em
sistemas de controle que não têm conexão
eletrônica direta com sistemas externos;
Ambiente de segurança OPC UA
• A segurança OPC UA trabalha dentro do
sistema de segurança total do site: programas
de segurança que dirigem políticas de
segurança e procedimentos, pessoal,
responsabilidades, auditoria, e segurança
física;
• Estes programas de segurança de sites
tipicamente tratam ameaças que incluem
aquelas descritas anteriormente.
Ambiente de segurança OPC UA
• Os requisitos de segurança das interfaces
OPC UA que estão instalados em um site são
especificados pelo mesmo, não pela
especificação OPC UA;
• OPC UA especifica características
pretendidas, de modo que produtos clientes e
servidores possam unificar requisitos de
segurança, que esperam ser feitas pelos sites
onde serão instalados.
Arquitetura de segurança OPC
UA
• A arquitetura de segurança OPC UA é uma
solução genérica que permite implementação
das características de segurança requeridas
em vários lugares na arquitetura OPC UA;
• Alguns perfis, definidos em UA, impõem
exigências sobre os produtos certificados,
mas eles não impõem exigências no modo
como eles são usados;
• Diferentes perfis especificam diferentes
detalhes tais como algoritmos de encriptação
requeridos por funções UA;
Arquitetura de segurança OPC
UA
• Na arquitetura OPC UA, do ponto de vista de
segurança, a camada de serviço implementa
os serviços que o cliente chama e que se
dirigem ao servidor;
• Os serviços mapeiam as comunicações
dentro de protocolos de suporte;
• Há uma escolha das pilhas de protocolo de
suporte em UA. As diferentes pilhas provêem
segurança de acordo com seus próprios
projetos;
Arquitetura de segurança OPC
UA
• OPC UA não confia no uso de TLS/SSL para
controlar a criação e manutenção de um canal
seguro. Há três razões principais para isto:
– OPC UA requer segurança fim a fim considerando
que SSL provê apenas ponto a ponto;
– OPC UA deve não ser ligado ao TCP;
– OPC UA exige que todas as mensagens sejam
unidas a um canal seguro no nível de aplicação,
mas que poderia não ser possível usando SSL.
Políticas de segurança
• Especificam quais mecanismos de
segurança devem ser usados;
• Os mecanismos especificados incluem o
seguinte:
– Quais mensagens serão assinadas (todas
as mensagens, apenas atualizar
mensagens, ou nenhuma mensagem);
– Se encripta todas as mensagens ou
nenhuma mensagem;
– Algoritmos para assinatura e encriptação;
Políticas de segurança
• A escolha da política é normalmente feita pelos
administradores do sistema de controle, tipicamente
quando os produtos cliente e servidor são instalados;
• Se um servidor serve múltiplos clientes, ele mantém
seleções de políticas separadas para clientes
diferentes de modo a permitir a um novo cliente
selecionar políticas sem nenhuma restrição baseada
em escolhas de políticas que outros clientes tenham
selecionado para suas sessões;
• A estrutura de política de segurança pode ser
estendida em versões OPC UA posteriores, assim
esta permite campos adicionais de forma que seja
compatível com servidores que conformam a versões
posteriores de OPC UA.
Serviços de segurança OPC UA
• Canal seguro: tipo de serviço OPC UA que é
usado para negociar os parâmetros de
segurança, isto é, os algoritmos de
encriptação e assinatura, para serem usados
para comunicações entre o cliente e o
servidor;
• Sessão montada: conexão entre um usuário e
um servidor, cuja segurança depende de um
canal seguro e da autenticação do usuário.
Com um canal seguro estabelecido, uma
sessão segura é criada.
Auditoria
• Tentativas de conexão realizadas com
sucesso ou sem sucesso, resultados de
negociações de opção de segurança, e
sessão rejeitada são registradas no log da
auditoria de clientes e servidores;
• OPC UA provê suporte para auditoria de
segurança através de dois mecanismos:
– Primeiro, é provido o log de auditoria para
rastreamento entre cliente e servidor;
– Segundo, OPC UA também define outros
parâmetros de auditoria de segurança padrão que
estarão incluídos nos logs.
Auditoria
• Cliente e servidor simples: o cliente “A”
executa algumas operações de auditoria,
invocando um serviço OPC UA no servidor
“D”. Ele grava seu próprio log de auditoria e
inclui o identificador da entrada no pedido de
serviço que é submetido ao servidor;
• Servidor agregado: um servidor que provê
seus serviços pelo acesso de serviços de
outros servidores OPC UA, que consulta
servidores das camadas mais baixas. Neste
caso, cada servidor recebe requisições e cria
suas próprias entradas no log para elas.
Auditoria
• Agregação através de um servidor sem auditoria:
cada servidor recebe suas requisições e cria suas
próprias entradas de log de auditoria para elas, com
exceção do servidor “X”, que não suporta auditoria.
Assim, “X” passa a identificação de auditoria recebida
do cliente “A” para o próximo servidor;
• Servidor agregado com distribuição de serviço: um
cliente submete uma requisição de serviço a um
servidor agregado, e o servidor agregado suporta
aquele serviço pela submissão de vários pedidos de
serviço a seus servidores subjacentes.
Acordo do objetivo de segurança
OPC UA
• Autenticação cliente/servidor:
Aplicações cliente e servidor OPC UA
se identificam e se autenticam com
certificados X.509;
• Autenticação de usuário: um software
de aplicação cliente OPC UA aceita um
símbolo (token) de identificação do
usuário, autentica este símbolo e o
passa para o servidor OPC UA.
Acordo do objetivo de segurança
OPC UA
• Autorização:
– Aplicações cliente e servidor devem determinar
autorizações garantindo todos os privilégios a
qualquer usuário ou cliente autenticado; ou
garantindo tipos específicos de privilégios a
conjuntos específicos de objetos para diferentes
grupos de usuários;
– Identificação e autenticação de usuários são
especificadas em OPC UA de maneira a
determinar as autorizações do usuário.
Acordo do objetivo de segurança
OPC UA
• Confidencialidade: a confidencialidade
do usuário, aplicação e credenciais de
software, e dos parâmetros, é
assegurada pelos mecanismos de
encriptação que podem ser
implementados em aplicações e
serviços OPC UA.
Acordo do objetivo de segurança
OPC UA
• Integridade/Autenticação de mensagem:
– Integridade é provida na aplicação e nas
camadas de serviço OPC UA usando “selos
de tempo” (time stamps), números de
seqüência, e chaves de sessão que o
cliente e o servidor usam para assinar ou
encriptar mensagens;
– O cliente e o servidor negociam as chaves
de sessão periodicamente para dificultar o
trabalho de um intruso de obter informação.
Acordo do objetivo de segurança
OPC UA
• Proteção de replay:
– OPC UA protege, contra replay, com assinaturas
de cabeçalhos de mensagens que contêm a
identificação (id) da sessão, número de seqüência
e o timestamp;
– Os serviços OPC UA ou o protocolo de suporte
pode assinar ou encriptar a mensagem;
– Assinar a mensagem inteira protege todos os seus
componentes contra modificação por um intruso;
– Encriptar a mensagem inteira protege a
confidencialidade de seus componentes.
Acordo do objetivo de segurança
OPC UA
• Auditoria: OPC UA suporta log de
auditoria fornecendo entradas de log em
diferentes clientes e servidores;
• Disponibilidade: não há mecanismos
específicos na especificação OPC UA
para proteger disponibilidade. Os
mecanismos de autenticação
contribuem para negação de partes não
autorizadas;
Considerações de
implementação
• Certificados auto-assinados: é
recomendado que todas as aplicações
UA criem um único certificado auto-
assinado sempre que uma nova
instância da aplicação é instalada. A
chave pública para este certificado
autogerado deve ser armazenada em
um local acessível ao administrador;
• Intervalos de tempo (timeouts)
apropriados: o tempo que a
implementação espera - usualmente
para um evento tal como a chegada de
uma mensagem - tem um papel muito
significativo em influenciar a segurança
de uma implementação; Tem como
conseqüências potenciais “negação de
serviço” e “consumo de recurso”;
Considerações de
implementação
• Processamento de mensagem estrita:
– Quem implementa deve fazer checagem estrita do
formato da mensagem e deve deixar os pacotes se
perderem ou enviar uma mensagem de erro;
– Tratamento de erro usa código de erro que mais
precisamente ajusta a condição;
– Algumas recomendações específicas consideram
codificação e decodificação de mensagens
XML/binárias ou específicos tipos de dados.
Considerações de
implementação
• Recuperação robusta a erros: um erro
(queda, entrada errada num estado do
protocolo, etc.) no protocolo pode
ocorrer devido a várias razões. Boas
práticas de recuperação de erro devem
ser implementadas de modo que a
implementação se recupere do erro.
Considerações de
implementação
• Geração de números randômicos:
especificações freqüentemente usam
“números randômicos ou não previstos”
descrevendo um item de mensagem.
Freqüentemente tipos de mensagem são
reservados como especial (como endereços
broadcast e multicast na especificação IP). A
não compreensão e interpretação da
implementação destes pacotes especiais
pode conduzir a vulnerabilidades.
Considerações de
implementação
• Controle de fluxo e taxa limite: OPC-
UA não fornece mecanismos de
controle de taxa, entretanto uma
implementação pode incorporar controle
de taxa.
Contato:
dalton.valadares@caruaru.ifpe.edu.br

Mais conteúdo relacionado

Semelhante a Apresentação sobre o modelo de segurança OPC UA

Secure Coding with OWASP & SSDLC.pptx
Secure Coding with OWASP & SSDLC.pptxSecure Coding with OWASP & SSDLC.pptx
Secure Coding with OWASP & SSDLC.pptxThiago Bertuzzi
 
Azure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingAzure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingWalter Coan
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Clavis Segurança da Informação
 
Segurança na Nuvem AWS
Segurança na Nuvem AWSSegurança na Nuvem AWS
Segurança na Nuvem AWSMichel Pereira
 
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...Walter Coan
 
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...Walter Coan
 
Apresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMPApresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMPMauro Tapajós
 
Monitoramento de malware em Windows NT 6.x - 64bits
Monitoramento de malware em Windows NT 6.x - 64bitsMonitoramento de malware em Windows NT 6.x - 64bits
Monitoramento de malware em Windows NT 6.x - 64bitsArthur Paixão
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
ISO17799 2005
ISO17799 2005ISO17799 2005
ISO17799 2005ceife
 
HTTPS com TLS em Modo RSA
HTTPS com TLS em Modo RSAHTTPS com TLS em Modo RSA
HTTPS com TLS em Modo RSARudá Moura
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesClavis Segurança da Informação
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguroCharles Fortes
 

Semelhante a Apresentação sobre o modelo de segurança OPC UA (20)

Secure Coding with OWASP & SSDLC.pptx
Secure Coding with OWASP & SSDLC.pptxSecure Coding with OWASP & SSDLC.pptx
Secure Coding with OWASP & SSDLC.pptx
 
Azure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingAzure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential Computing
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
 
Segurança na Nuvem da AWS
Segurança na Nuvem da AWSSegurança na Nuvem da AWS
Segurança na Nuvem da AWS
 
Segurança na Nuvem AWS
Segurança na Nuvem AWSSegurança na Nuvem AWS
Segurança na Nuvem AWS
 
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
 
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
 
Aula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosdsAula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosds
 
Apresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMPApresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMP
 
Aula 8.0 - Segurança
Aula 8.0 - SegurançaAula 8.0 - Segurança
Aula 8.0 - Segurança
 
Java security
Java securityJava security
Java security
 
Segurança de ponta a ponta na AWS
Segurança de ponta a ponta na AWSSegurança de ponta a ponta na AWS
Segurança de ponta a ponta na AWS
 
Monitoramento de malware em Windows NT 6.x - 64bits
Monitoramento de malware em Windows NT 6.x - 64bitsMonitoramento de malware em Windows NT 6.x - 64bits
Monitoramento de malware em Windows NT 6.x - 64bits
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Politicas de segurança
Politicas de segurançaPoliticas de segurança
Politicas de segurança
 
ISO17799 2005
ISO17799 2005ISO17799 2005
ISO17799 2005
 
HTTPS com TLS em Modo RSA
HTTPS com TLS em Modo RSAHTTPS com TLS em Modo RSA
HTTPS com TLS em Modo RSA
 
GUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em JavaGUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em Java
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguro
 

Mais de Dalton Valadares

Primeiros passos com Openstack
Primeiros passos com OpenstackPrimeiros passos com Openstack
Primeiros passos com OpenstackDalton Valadares
 
Performance Evaluation of an IEEE 802.11g Network in an Industrial Environment
Performance Evaluation of an IEEE 802.11g Network in an Industrial EnvironmentPerformance Evaluation of an IEEE 802.11g Network in an Industrial Environment
Performance Evaluation of an IEEE 802.11g Network in an Industrial EnvironmentDalton Valadares
 
802.11g Signal Strength Evaluation in an Industrial Environment (Elsevier Int...
802.11g Signal Strength Evaluation in an Industrial Environment (Elsevier Int...802.11g Signal Strength Evaluation in an Industrial Environment (Elsevier Int...
802.11g Signal Strength Evaluation in an Industrial Environment (Elsevier Int...Dalton Valadares
 
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...Dalton Valadares
 
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...Dalton Valadares
 
Internet das Coisas e a Indústria 4.0
Internet das Coisas e a Indústria 4.0Internet das Coisas e a Indústria 4.0
Internet das Coisas e a Indústria 4.0Dalton Valadares
 
Achieving Data Dissemination with Security using FIWARE and Intel Software Gu...
Achieving Data Dissemination with Security using FIWARE and Intel Software Gu...Achieving Data Dissemination with Security using FIWARE and Intel Software Gu...
Achieving Data Dissemination with Security using FIWARE and Intel Software Gu...Dalton Valadares
 
Internet das Coisas com Edgex Foundry
Internet das Coisas com Edgex FoundryInternet das Coisas com Edgex Foundry
Internet das Coisas com Edgex FoundryDalton Valadares
 
OPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build TutorialOPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build TutorialDalton Valadares
 
Presentation of my paper in the IEEE Symposium on Computer and Communications...
Presentation of my paper in the IEEE Symposium on Computer and Communications...Presentation of my paper in the IEEE Symposium on Computer and Communications...
Presentation of my paper in the IEEE Symposium on Computer and Communications...Dalton Valadares
 
Avaliação de Desempenho de uma Rede 802.11g em uma Usina Termoelétrica
Avaliação de Desempenho de uma Rede 802.11g em uma Usina TermoelétricaAvaliação de Desempenho de uma Rede 802.11g em uma Usina Termoelétrica
Avaliação de Desempenho de uma Rede 802.11g em uma Usina TermoelétricaDalton Valadares
 
Introdução à Gestão de projetos
Introdução à Gestão de projetosIntrodução à Gestão de projetos
Introdução à Gestão de projetosDalton Valadares
 
Integrating Fiware Orion, Keyrock and Wilma
Integrating Fiware Orion, Keyrock and WilmaIntegrating Fiware Orion, Keyrock and Wilma
Integrating Fiware Orion, Keyrock and WilmaDalton Valadares
 
Desenvolvimento Web com JSF
Desenvolvimento Web com JSFDesenvolvimento Web com JSF
Desenvolvimento Web com JSFDalton Valadares
 
Comparison of signal smoothing techniques for use in embedded system for moni...
Comparison of signal smoothing techniques for use in embedded system for moni...Comparison of signal smoothing techniques for use in embedded system for moni...
Comparison of signal smoothing techniques for use in embedded system for moni...Dalton Valadares
 
Install and configure shiro plugin for authentication with Grails
Install and configure shiro plugin for authentication with GrailsInstall and configure shiro plugin for authentication with Grails
Install and configure shiro plugin for authentication with GrailsDalton Valadares
 

Mais de Dalton Valadares (20)

Primeiros passos com Openstack
Primeiros passos com OpenstackPrimeiros passos com Openstack
Primeiros passos com Openstack
 
Performance Evaluation of an IEEE 802.11g Network in an Industrial Environment
Performance Evaluation of an IEEE 802.11g Network in an Industrial EnvironmentPerformance Evaluation of an IEEE 802.11g Network in an Industrial Environment
Performance Evaluation of an IEEE 802.11g Network in an Industrial Environment
 
802.11g Signal Strength Evaluation in an Industrial Environment (Elsevier Int...
802.11g Signal Strength Evaluation in an Industrial Environment (Elsevier Int...802.11g Signal Strength Evaluation in an Industrial Environment (Elsevier Int...
802.11g Signal Strength Evaluation in an Industrial Environment (Elsevier Int...
 
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...
 
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...
Towards 802.11g Signal Strength Estimation in an Industrial Environment: a Pr...
 
Internet das Coisas e a Indústria 4.0
Internet das Coisas e a Indústria 4.0Internet das Coisas e a Indústria 4.0
Internet das Coisas e a Indústria 4.0
 
Achieving Data Dissemination with Security using FIWARE and Intel Software Gu...
Achieving Data Dissemination with Security using FIWARE and Intel Software Gu...Achieving Data Dissemination with Security using FIWARE and Intel Software Gu...
Achieving Data Dissemination with Security using FIWARE and Intel Software Gu...
 
Internet das Coisas com Edgex Foundry
Internet das Coisas com Edgex FoundryInternet das Coisas com Edgex Foundry
Internet das Coisas com Edgex Foundry
 
OPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build TutorialOPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build Tutorial
 
Presentation of my paper in the IEEE Symposium on Computer and Communications...
Presentation of my paper in the IEEE Symposium on Computer and Communications...Presentation of my paper in the IEEE Symposium on Computer and Communications...
Presentation of my paper in the IEEE Symposium on Computer and Communications...
 
Avaliação de Desempenho de uma Rede 802.11g em uma Usina Termoelétrica
Avaliação de Desempenho de uma Rede 802.11g em uma Usina TermoelétricaAvaliação de Desempenho de uma Rede 802.11g em uma Usina Termoelétrica
Avaliação de Desempenho de uma Rede 802.11g em uma Usina Termoelétrica
 
Introdução à Gestão de projetos
Introdução à Gestão de projetosIntrodução à Gestão de projetos
Introdução à Gestão de projetos
 
Integrating Fiware Orion, Keyrock and Wilma
Integrating Fiware Orion, Keyrock and WilmaIntegrating Fiware Orion, Keyrock and Wilma
Integrating Fiware Orion, Keyrock and Wilma
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
Programação C - Aula 2
Programação C - Aula 2Programação C - Aula 2
Programação C - Aula 2
 
Programação C - Aula 3
Programação C - Aula 3Programação C - Aula 3
Programação C - Aula 3
 
Programação C - Aula 4
Programação C - Aula 4Programação C - Aula 4
Programação C - Aula 4
 
Desenvolvimento Web com JSF
Desenvolvimento Web com JSFDesenvolvimento Web com JSF
Desenvolvimento Web com JSF
 
Comparison of signal smoothing techniques for use in embedded system for moni...
Comparison of signal smoothing techniques for use in embedded system for moni...Comparison of signal smoothing techniques for use in embedded system for moni...
Comparison of signal smoothing techniques for use in embedded system for moni...
 
Install and configure shiro plugin for authentication with Grails
Install and configure shiro plugin for authentication with GrailsInstall and configure shiro plugin for authentication with Grails
Install and configure shiro plugin for authentication with Grails
 

Apresentação sobre o modelo de segurança OPC UA

  • 1. Modelo de segurança OPC UA Dalton Cézane Instituto Federal de Pernambuco (IFPE)
  • 2. Escopo • Descrição do modelo de segurança da Arquitetura Unificada OPC UA; • Descrição das ameaças de segurança; • Visão das características de segurança; • Como UA utiliza outros padrões para segurança.
  • 3. Alguns termos • Certificado; • Comando; • Evento; • Mensagem; • Notificação; • Subscrição.
  • 4. Termos de segurança OPC UA • Autenticação: verificação da identidade de uma entidade como cliente, servidor ou usuário; • Autorização: direito ou permissão garantida a uma entidade para acessar um recurso de sistema ; • Confidencialidade: proteção de dados (em transmissão ou armazenados em algum local) contra ataques passivos;
  • 5. Termos de segurança OPC UA • Integridade: busca assegurar que a mensagem é recebida como enviada, ou seja, não foi modificada durante a transmissão; • Auditoria: examina a segurança do sistema em operação e registra os eventos em logs; • Não-repúdio: previne qualquer remetente e destinatário da negação da mensagem transmitida; • Disponibilidade: significa o tempo de execução do sistema sem qualquer impedimento (sem interrupção na execução);
  • 6. Termos de segurança OPC UA • Aplicação OPC UA: instância de um cliente ou servidor OPC UA rodando em um computador individual; • Certificado de instância de aplicação: certificado digital de uma instância individual de uma aplicação que está instalada em um host individual; • Certificado X.509: certificado em um dos formatos definidos pelo X.509 v1, 2 ou 3 (seqüência de dados e uma assinatura digital computada nesta seqüência);
  • 7. Termos de segurança OPC UA • Certificado digital: estrutura que associa uma identidade a uma entidade, tal como um usuário ou uma instância de aplicação; • Conjunto de chave de sessão: chave simétrica usada para encriptar ou assinar mensagens em uma sessão ou dois pares de chaves assimétricas que são usadas para este fim;
  • 8. Termos de segurança OPC UA • Símbolo (token) de segurança: identificador para um conjunto de chaves de sessão usado para encriptar e assinar mensagens trocadas entre cliente e servidor; • Canal de segurança: caminho de comunicação estabelecido entre um cliente OPC UA e um servidor, autenticados um pelo outro usando certos serviços OPC UA, e pelo qual parâmetros de segurança são negociados e aplicados;
  • 9. Termos de segurança OPC UA • Nonce: número pseudo-randômico que é usado apenas uma vez (usados em algoritmos que geram chaves de segurança ou em testes de desafio/resposta); • Criptografia assimétrica: utiliza duas chaves no processo de encriptação/decriptação dos dados (chave pública e chave privada);
  • 10. Termos de segurança OPC UA • Criptografia simétrica: utiliza apenas uma chave no processo de encriptação/decriptação dos dados (esta chave deve ser mantida segura); • Função Hash: calcula um valor tal que é impraticável descobrir seu valor original (antes de passar pela função);
  • 11. Termos de segurança OPC UA • Infra-estrutura de chave pública: sistema de CAs que desempenha um conjunto de gerenciamento de certificado, gerenciamento de arquivos, gerenciamento de chaves, e funções de gerenciamento de símbolos para uma comunidade de usuários em uma aplicação de criptografia assimétrica; • Chave pública: componente de divulgação pública de um par de chaves criptográficas usado para criptografia assimétrica; • Chave privada: componente secreto de um par de chaves criptográficas usado por criptografia assimétrica.
  • 12. Ameaças de segurança • Flooding de mensagem: tem o objetivo de derrubar o servidor ou seus componentes, através de um grande volume de mensagens. Ameaça disponibilidade; • Eavesdropping: um intruso pode gravar e capturar mensagens, caso tenha comprometido um sistema subjacente. Ameaça, principalmente, confidencialidade.
  • 13. Ameaças de segurança • Mensagem mascarada: um intruso pode forjar mensagens de um cliente ou de um servidor. Ameaça integridade, autorização e não-repúdio; • Alteração de mensagem: mensagens podem ser capturadas, alteradas e reenviadas. Ameaça integridade, autorização e não-repúdio;
  • 14. Ameaças de segurança • Replay de mensagens: mensagens podem ser capturadas e enviadas a clientes e servidores OPC. Ameaça integridade e não-repúdio; • Mensagens mal formatadas: intrusos podem preencher mensagens com estruturas inválidas e enviá-las a clientes e servidores OPC UA. Ameaça integridade e não-repúdio;
  • 15. Ameaças de segurança • Perfilamento de servidor: um intruso envia mensagens com formatação válida ou inválida ao servidor OPC. Ameaça confidencialidade diretamente e todas as outras qualidades indiretamente; • Sessão hijacking: Um intruso injeta mensagens com formatação OPC-UA válida dentro de uma sessão existente através da observação de uma sessão. Ameaça todos os pontos de segurança;
  • 16. Ameaças de segurança • Servidor rogue: um ataque pode gerar um servidor malicioso ou instalar um servidor original em um host diferente. Ameaça todos os pontos de segurança; • Cliente rogue: um intruso gera um cliente malicioso ou um genuíno e envia mensagens para o servidor de uma forma diferente. Ameaça todos os pontos de segurança;
  • 17. Ameaças de segurança • Comprometimento de credenciais de usuário: intruso obtém credenciais de usuário tais como nomes de usuário, senhas, certificados, ou chaves, pela observação dos mesmos em papéis, telas, comunicações eletrônicas, ou quebrando-os por suposição ou uso de ferramentas automáticas como “quebradores” de senhas. Ameaça autorização.
  • 18. Ambiente de segurança OPC UA • O uso de OPC UA pode ser alvo atrativo para espionagem industrial ou sabotagem; • Pode ser exposto a ameaças através malware (como worms) circulando em redes públicas; • Alguns clientes e servidores OPC UA podem ficar no mesmo host e serem mais facilmente protegidos de ataques externos;
  • 19. Ambiente de segurança OPC UA • Alguns clientes e servidores ficam em diferentes hosts na mesma rede de operações e podem ser protegidos pelos limites de segurança que separam a rede de operações das conexões externas; • Algumas aplicações OPC UA rodam em ambientes relativamente abertos onde usuários e aplicações são difíceis de controlar, enquanto outras são embutidas em sistemas de controle que não têm conexão eletrônica direta com sistemas externos;
  • 20. Ambiente de segurança OPC UA • A segurança OPC UA trabalha dentro do sistema de segurança total do site: programas de segurança que dirigem políticas de segurança e procedimentos, pessoal, responsabilidades, auditoria, e segurança física; • Estes programas de segurança de sites tipicamente tratam ameaças que incluem aquelas descritas anteriormente.
  • 21. Ambiente de segurança OPC UA • Os requisitos de segurança das interfaces OPC UA que estão instalados em um site são especificados pelo mesmo, não pela especificação OPC UA; • OPC UA especifica características pretendidas, de modo que produtos clientes e servidores possam unificar requisitos de segurança, que esperam ser feitas pelos sites onde serão instalados.
  • 22. Arquitetura de segurança OPC UA • A arquitetura de segurança OPC UA é uma solução genérica que permite implementação das características de segurança requeridas em vários lugares na arquitetura OPC UA; • Alguns perfis, definidos em UA, impõem exigências sobre os produtos certificados, mas eles não impõem exigências no modo como eles são usados; • Diferentes perfis especificam diferentes detalhes tais como algoritmos de encriptação requeridos por funções UA;
  • 23. Arquitetura de segurança OPC UA • Na arquitetura OPC UA, do ponto de vista de segurança, a camada de serviço implementa os serviços que o cliente chama e que se dirigem ao servidor; • Os serviços mapeiam as comunicações dentro de protocolos de suporte; • Há uma escolha das pilhas de protocolo de suporte em UA. As diferentes pilhas provêem segurança de acordo com seus próprios projetos;
  • 24. Arquitetura de segurança OPC UA • OPC UA não confia no uso de TLS/SSL para controlar a criação e manutenção de um canal seguro. Há três razões principais para isto: – OPC UA requer segurança fim a fim considerando que SSL provê apenas ponto a ponto; – OPC UA deve não ser ligado ao TCP; – OPC UA exige que todas as mensagens sejam unidas a um canal seguro no nível de aplicação, mas que poderia não ser possível usando SSL.
  • 25. Políticas de segurança • Especificam quais mecanismos de segurança devem ser usados; • Os mecanismos especificados incluem o seguinte: – Quais mensagens serão assinadas (todas as mensagens, apenas atualizar mensagens, ou nenhuma mensagem); – Se encripta todas as mensagens ou nenhuma mensagem; – Algoritmos para assinatura e encriptação;
  • 26. Políticas de segurança • A escolha da política é normalmente feita pelos administradores do sistema de controle, tipicamente quando os produtos cliente e servidor são instalados; • Se um servidor serve múltiplos clientes, ele mantém seleções de políticas separadas para clientes diferentes de modo a permitir a um novo cliente selecionar políticas sem nenhuma restrição baseada em escolhas de políticas que outros clientes tenham selecionado para suas sessões; • A estrutura de política de segurança pode ser estendida em versões OPC UA posteriores, assim esta permite campos adicionais de forma que seja compatível com servidores que conformam a versões posteriores de OPC UA.
  • 27. Serviços de segurança OPC UA • Canal seguro: tipo de serviço OPC UA que é usado para negociar os parâmetros de segurança, isto é, os algoritmos de encriptação e assinatura, para serem usados para comunicações entre o cliente e o servidor; • Sessão montada: conexão entre um usuário e um servidor, cuja segurança depende de um canal seguro e da autenticação do usuário. Com um canal seguro estabelecido, uma sessão segura é criada.
  • 28. Auditoria • Tentativas de conexão realizadas com sucesso ou sem sucesso, resultados de negociações de opção de segurança, e sessão rejeitada são registradas no log da auditoria de clientes e servidores; • OPC UA provê suporte para auditoria de segurança através de dois mecanismos: – Primeiro, é provido o log de auditoria para rastreamento entre cliente e servidor; – Segundo, OPC UA também define outros parâmetros de auditoria de segurança padrão que estarão incluídos nos logs.
  • 29. Auditoria • Cliente e servidor simples: o cliente “A” executa algumas operações de auditoria, invocando um serviço OPC UA no servidor “D”. Ele grava seu próprio log de auditoria e inclui o identificador da entrada no pedido de serviço que é submetido ao servidor; • Servidor agregado: um servidor que provê seus serviços pelo acesso de serviços de outros servidores OPC UA, que consulta servidores das camadas mais baixas. Neste caso, cada servidor recebe requisições e cria suas próprias entradas no log para elas.
  • 30. Auditoria • Agregação através de um servidor sem auditoria: cada servidor recebe suas requisições e cria suas próprias entradas de log de auditoria para elas, com exceção do servidor “X”, que não suporta auditoria. Assim, “X” passa a identificação de auditoria recebida do cliente “A” para o próximo servidor; • Servidor agregado com distribuição de serviço: um cliente submete uma requisição de serviço a um servidor agregado, e o servidor agregado suporta aquele serviço pela submissão de vários pedidos de serviço a seus servidores subjacentes.
  • 31. Acordo do objetivo de segurança OPC UA • Autenticação cliente/servidor: Aplicações cliente e servidor OPC UA se identificam e se autenticam com certificados X.509; • Autenticação de usuário: um software de aplicação cliente OPC UA aceita um símbolo (token) de identificação do usuário, autentica este símbolo e o passa para o servidor OPC UA.
  • 32. Acordo do objetivo de segurança OPC UA • Autorização: – Aplicações cliente e servidor devem determinar autorizações garantindo todos os privilégios a qualquer usuário ou cliente autenticado; ou garantindo tipos específicos de privilégios a conjuntos específicos de objetos para diferentes grupos de usuários; – Identificação e autenticação de usuários são especificadas em OPC UA de maneira a determinar as autorizações do usuário.
  • 33. Acordo do objetivo de segurança OPC UA • Confidencialidade: a confidencialidade do usuário, aplicação e credenciais de software, e dos parâmetros, é assegurada pelos mecanismos de encriptação que podem ser implementados em aplicações e serviços OPC UA.
  • 34. Acordo do objetivo de segurança OPC UA • Integridade/Autenticação de mensagem: – Integridade é provida na aplicação e nas camadas de serviço OPC UA usando “selos de tempo” (time stamps), números de seqüência, e chaves de sessão que o cliente e o servidor usam para assinar ou encriptar mensagens; – O cliente e o servidor negociam as chaves de sessão periodicamente para dificultar o trabalho de um intruso de obter informação.
  • 35. Acordo do objetivo de segurança OPC UA • Proteção de replay: – OPC UA protege, contra replay, com assinaturas de cabeçalhos de mensagens que contêm a identificação (id) da sessão, número de seqüência e o timestamp; – Os serviços OPC UA ou o protocolo de suporte pode assinar ou encriptar a mensagem; – Assinar a mensagem inteira protege todos os seus componentes contra modificação por um intruso; – Encriptar a mensagem inteira protege a confidencialidade de seus componentes.
  • 36. Acordo do objetivo de segurança OPC UA • Auditoria: OPC UA suporta log de auditoria fornecendo entradas de log em diferentes clientes e servidores; • Disponibilidade: não há mecanismos específicos na especificação OPC UA para proteger disponibilidade. Os mecanismos de autenticação contribuem para negação de partes não autorizadas;
  • 37. Considerações de implementação • Certificados auto-assinados: é recomendado que todas as aplicações UA criem um único certificado auto- assinado sempre que uma nova instância da aplicação é instalada. A chave pública para este certificado autogerado deve ser armazenada em um local acessível ao administrador;
  • 38. • Intervalos de tempo (timeouts) apropriados: o tempo que a implementação espera - usualmente para um evento tal como a chegada de uma mensagem - tem um papel muito significativo em influenciar a segurança de uma implementação; Tem como conseqüências potenciais “negação de serviço” e “consumo de recurso”;
  • 39. Considerações de implementação • Processamento de mensagem estrita: – Quem implementa deve fazer checagem estrita do formato da mensagem e deve deixar os pacotes se perderem ou enviar uma mensagem de erro; – Tratamento de erro usa código de erro que mais precisamente ajusta a condição; – Algumas recomendações específicas consideram codificação e decodificação de mensagens XML/binárias ou específicos tipos de dados.
  • 40. Considerações de implementação • Recuperação robusta a erros: um erro (queda, entrada errada num estado do protocolo, etc.) no protocolo pode ocorrer devido a várias razões. Boas práticas de recuperação de erro devem ser implementadas de modo que a implementação se recupere do erro.
  • 41. Considerações de implementação • Geração de números randômicos: especificações freqüentemente usam “números randômicos ou não previstos” descrevendo um item de mensagem. Freqüentemente tipos de mensagem são reservados como especial (como endereços broadcast e multicast na especificação IP). A não compreensão e interpretação da implementação destes pacotes especiais pode conduzir a vulnerabilidades.
  • 42. Considerações de implementação • Controle de fluxo e taxa limite: OPC- UA não fornece mecanismos de controle de taxa, entretanto uma implementação pode incorporar controle de taxa.