Você está na página 1de 9

Proteção de código fonte para o seu CLP SIMATIC S7-1200 no TIA Portal

Postado por Jason Mayes na primeira página , Hardware e software personalizados , Hardware , PLC , Tópicos gerais , Boston , Automação , Siemens PLC

De tempos em tempos, vamos nos deparar com situações em que um cliente acredita que é necessário bloquear o código em um CLP. Em alguns
casos, pode haver uma propriedade intelectual valiosa que eles gostariam de proteger. Em outros, sua finalidade pode ser impedir modificações não
autorizadas no código relacionado à segurança ou a ativação de opções desativadas. Também pode haver casos em que é necessário interligar um
programa PLC a um cartão de memória ou CPU específico, especialmente nos casos em que pode haver várias máquinas semelhantes (mas
ligeiramente diferentes). Essas máquinas podem executar softwares exclusivos e usar o código errado (ou release) podem causar riscos a um
operador ou à própria máquina.

Felizmente, existem ferramentas disponíveis no TIA Portal para todos esses casos, e não são necessários mais que alguns minutos para configurá-
los. Como eu tenho um PLC 1214C sentado aqui no meu banco de laboratório, vou usar a plataforma S7-1200 como exemplo; no entanto, essas
opções podem ser ativadas em outros CPs (como a série 1500) também.

O TIA Portal contém três opções diferentes para proteção de código:

 Proteção contra gravação / leitura


 Proteção de know-how
 Proteção contra cópia
Vamos dar uma olhada em cada um deles.

Proteção contra gravação / leitura


A proteção contra gravação / leitura é uma propriedade da CPU: pode ser atribuída visualizando as propriedades de um dispositivo. Isso é feito
abrindo um dispositivo na Exibição de dispositivos, escolhendo a guia "Propriedades" e procurando "Proteção" na guia "Geral". Existem três opções
para proteção contra gravação / leitura que você pode escolher:

"Sem proteção" - esta opção é o comportamento padrão e padrão. Com esta configuração, qualquer usuário pode se conectar ao CLP, ler / gravar
dados ou carregar / baixar um programa para / do CLP sem necessidade de senha.

"Proteção contra gravação" - Selecionar essa opção impedirá que um usuário não autorizado grave no CP. Um usuário pode se conectar ao CLP
e fazer o upload de um programa ou conectar-se e ficar on-line com o CLP e monitorar os valores das marcações sem a necessidade de uma senha.
No entanto, se um usuário desejar fazer o download de uma atualização do código no CP, baixar um novo programa ou editar / forçar o valor da
marcação enquanto estiver on-line, será necessária uma senha.
Com a proteção contra gravação ativada, é necessária uma senha para fazer o download no PLC.
Com a "Proteção contra gravação" ativada, é necessário inserir primeiro a senha antes que os valores da tag sejam forçados ou modificados.

"Proteção contra gravação / leitura" - Essa configuração, quando ativada, oferecerá a mesma segurança fornecida ao usar "Proteção contra gravação"
com o benefício adicional de desativar o acesso de leitura sem a senha. A proteção de leitura impedirá que um usuário faça upload de código, monitore tags
ou até mesmo veja quais blocos estão presentes em uma CPU.
Com a "Proteção contra gravação / leitura" ativada, não é possível fazer o upload de um programa de um CLP sem a senha.

Proteção de know-how
A proteção de know-how é uma propriedade em nível de bloco que pode ser definida para qualquer OB, FB, FC ou DB. Quando ativado, um usuário
não poderá visualizar ou modificar o código ou as tags reais em um bloco sem primeiro digitar a senha. Você pode ativar a Proteção de
Conhecimento clicando com o botão direito do mouse em um bloco na árvore do projeto e selecionando "Proteção de Conhecimento", ou observando
as propriedades do bloco e selecionando "Proteção".

O "Know-how Protection" pode ser acessado nas propriedades do bloco. Escolha 'Definir' para atribuir uma senha para o bloco.
Deve-se notar que esta propriedade não é aplicada recursivamente - isto é, se um OB for Know-how Protected, qualquer FBs de FCs usados dentro
daquele OB não terá automaticamente a mesma proteção aplicada. Aplicá-lo a um bloco não impedirá que alguém visualize o código-fonte de outro
bloco usado nele. Mas, é possível selecionar vários (ou todos!) Blocos dentro da árvore do projeto e aplicar Proteção de Know-how a todos os blocos
de uma vez.
O "Know-how Protection" pode ser ativado para vários blocos de uma só vez.

Uma vez que a Proteção de Know-how tenha sido aplicada a um bloco, você notará que o bloco é imediatamente recomplilado, e um bloqueio aparecerá na
árvore do projeto para indicar que o bloco está bloqueado. Quando você tentar abrir qualquer bloco bloqueado, você será solicitado a fornecer uma senha
para ver a origem do bloco.

É importante mencionar que a proteção do Know-how não é à prova de balas: existem maneiras de contornar isso, por isso não deve ser a primeira e a
última defesa para proteger informações valiosas. Pode, no entanto, ser útil para desencorajar alterações não autorizadas ou gerenciar bibliotecas de blocos
de função para uso em um projeto grande ou até mesmo dentro de uma organização.

Proteção contra cópia


Finalmente, chegamos à proteção contra cópia. Como a proteção de know-how, a proteção contra cópia também é uma propriedade de bloco. Se
você já jogou com o Know-how Protection, provavelmente já viu as configurações de proteção contra cópia nas propriedades de proteção do bloco. A
Proteção contra cópia é uma configuração útil que pode ser usada para bloquear ou vincular um programa a um CLP ou cartão de memória
específico. Existem três configurações disponíveis de proteção contra cópia:

"No Binding" - esta é a configuração padrão. Com nenhuma ligação ativada, um programa pode ser transferido para qualquer CLP ou qualquer
cartão de memória e ser executado. Se um programa for baixado para uma CPU, ele poderá ser carregado em um PC e depois baixado para outro
CLP e executado. Ou, se copiado para um cartão de memória, o cartão pode ser inserido em qualquer CPU e o código executado.

"Vincular ao Número de Série do Cartão de Memória" - Quando esta opção estiver ativada, o bloco será vinculado ao número de série único do
Cartão de Memória para o qual é baixado. Esse cartão de memória pode ser movido de CLP para CLP e cada CPU operará sem problemas, mas se
o cartão de memória for copiado e a nova placa for usada, a CPU não entrará em Executar. Mesmo que apenas um único bloco esteja vinculado, a
CPU não pode executar um programa.

"Vincular ao Número de Série do PLC" - Esta configuração permitirá que um bloco seja vinculado a um CLP específico. O bloco não pode ser
transferido de um PLC para outro, o que significa que se a CPU precisar ser substituída, o mesmo programa não pode ser usado.
Blocos podem ser ligados a um número de série específico de uma CPU ou cartão de memória.

Uma nota final sobre ligação: deve-se notar que, se você pretende ligar um bloco a um cartão de memória ou PLC, também deve ativar a proteção
de conhecimento para o bloco. Se a proteção de know-how não estiver ativada, é possível que qualquer pessoa abra as configurações de bloqueio e
redefina a proteção contra cópia.

Você também pode gostar