Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Automatically translated by Lango

Introduction

Our platform caters to mission-critical systems in the Energy sector. It meets NERC standards to provide a stable, secure infrastructure from HMI to IoT. This section delves into key features. 

On this page

Introdução

Nossa plataforma atende a sistemas de missão crítica no setor de energia. Ele atende aos padrões NERC para fornecer uma infraestrutura estável e segura de HMI a IoT. Esta seção se aprofunda nos principais recursos. 

Nesta página:

Table of Contents
minLevel1
maxLevel6
outlinefalse
stylenone
typelist
printabletrue

Security Highlights

Security and Reliability

We prioritize stability and security throughout our platform's design, from technology selection to module architecture.

Easy Configuration and Maintenance

Our platform offers secure, straightforward configuration and maintenance for various scenarios, ensuring scalability and consistency.

Operational Stability

Our platform's 100% managed code implementation guarantees operational stability, featuring robust exception handling and seamless failure recovery.

Redundancy and Availability

For high availability, our platform offers redundancy with a proven hot standby system for real-time databases, alarms, and historians, catering to diverse network setups.

NERC

The platform was designed according to the applicable recommendations from NERC CIP, such as CIP-007-1—Cyber Security-System Management.

Listed below and described are some security-related features available in the product:

·       Access Control: Security technique that regulates who or what can view or use resources in a computing environment.

·       Password Encryption: The system administrator does not possess access to the user's password, which is encrypted before being stored.

·       Maximum and Minimum Age for Password: A feature that imposes a minimum password age before allowing its change and a maximum age before expiring.

·       Required Password changing: The user must alter his password after the first login.

·       Username and Password Minimum Length: Establishes minimum requirements for passwords.

·       Block on Invalid Login Attempt: Blocks User after reaching maximum invalid logins attempted.

·       Store Password History: A range of the last 0-5 passwords can be stored to ensure the User does not repeat an already used one.

·       Auto Log Off: The user is logged off the system for inactivity or expiration date.

·       Audit Trail Data: Security-relevant chronological record, a set of records that provide documentary evidence of the sequence of activities that have affected a specific operation at any time.

For additional information on NERC CIP-007-1 - Cyber Security-System Management, go to NERC CIP Overview.

Built-in .NET Security

Action.NET development is built on the .NET framework, following strict security protocols. Each module adheres to specific guidelines aligned with its function, such as adherence to standards like IEC61850 for modules handling electrical device communications.

Below are the main security topics, along with essential details about each.

Security at the Core Level

Security implementation is ingrained at the core level rather than being applied externally. The platform's modules incorporate built-in security components designed from their very core.

For more detailed insights into .NET security, refer to Microsoft's documentation, available at Microsoft .NET Security Information.

Communication Security

Communication between modules

Cryptography plays a crucial role in securing communication between external modules and TServer, encompassing processes such as

Destaques de segurança

Segurança e confiabilidade

Priorizamos a estabilidade e a segurança em todo o design de nossa plataforma, desde a seleção de tecnologia até a arquitetura do módulo.

Fácil configuração e manutenção

Nossa plataforma oferece configuração e manutenção seguras e diretas para vários cenários, garantindo escalabilidade e consistência.

Estabilidade operacional

A implementação de código 100% gerenciado de nossa plataforma garante estabilidade operacional, apresentando tratamento robusto de exceções e recuperação contínua de falhas.

Redundância e Disponibilidade

Para alta disponibilidade, nossa plataforma oferece redundância com um sistema comprovado de espera ativa para bancos de dados, alarmes e historiadores em tempo real, atendendo a diversas configurações de rede.


NERC

A plataforma foi projetada de acordo com as recomendações aplicáveis do NERC CIP, como CIP-007-1 - Gerenciamento do Sistema de Segurança Cibernética.

Listados abaixo e descritos estão alguns recursos relacionados à segurança disponíveis no produto:

·       Controle de acesso: Técnica de segurança que regula quem ou o que pode visualizar ou usar recursos em um ambiente de computação.

·       Criptografia de senha: O administrador do sistema não possui acesso à senha do usuário, que é criptografada antes de ser armazenada.

·       Idade máxima e mínima para senha: Um recurso que impõe uma idade mínima da senha antes de permitir sua alteração e uma idade máxima antes de expirar.

·       Alteração de senha necessária: O usuário deve alterar sua senha após o primeiro login.

·       Nome de usuário e senha Comprimento mínimo: Estabelece requisitos mínimos para senhas.

·       Bloquear em caso de tentativa de login inválida: Bloqueia o usuário após atingir o máximo de tentativas de logins inválidos.

·       Armazenar histórico de senhas: Um intervalo das últimas 0 a 5 senhas pode ser armazenado para garantir que o usuário não repita uma já usada.

·       Logoff automático: O usuário é desconectado do sistema por inatividade ou data de expiração.

·       Dados da trilha de auditoria: Registo cronológico relevante para a segurança, um conjunto de registos que fornecem provas documentais da sequência de atividades que afetaram uma operação específica em qualquer momento.

Para obter informações adicionais sobre o NERC CIP-007-1 - Gerenciamento do Sistema de Segurança Cibernética, acesse Visão geral do NERC CIP.


Segurança interna do .NET

Action.NET o desenvolvimento é construído no .NET framework, seguindo protocolos de segurança rígidos. Cada módulo segue diretrizes específicas alinhadas com sua função, como a adesão a padrões como IEC61850 para módulos que lidam com comunicações de dispositivos elétricos.

Abaixo estão os principais tópicos de segurança, juntamente com detalhes essenciais sobre cada um.

Segurança no nível central

A implementação de segurança está enraizada no nível principal, em vez de ser aplicada externamente. Os módulos da plataforma incorporam componentes de segurança integrados projetados desde o núcleo.

Para obter informações mais detalhadas sobre a segurança do .NET, consulte a documentação da Microsoft, disponível em Informações de segurança do Microsoft .NET.


Segurança de comunicação

Comunicação entre módulos

A criptografia desempenha um papel crucial na proteção da comunicação entre módulos externos e TServer, abrangendo processos como ScriptTaskServer, DataAccess, Devices, TRichClient, SmartClient, ModuleInfo, TraceWindow , and e PropertyWatch. Two primary classes are employed for this purposeDuas classes primárias são empregadas para esse fim:

a) System.Security.Cryptography.RSACryptoServiceProvider (Asymmetricassimétrico, KeySize: 1024): Facilitates asymmetric encryption and decryption utilizing the RSA algorithm implementation provided by the cryptographic service provider (CSPFacilita a criptografia assimétrica e a descriptografia utilizando a implementação do algoritmo RSA fornecida pelo CSP (provedor de serviços criptográficos).

b) System.Security.Cryptography.Rijndael (KeySize: 256): Utilized for encryption and decryption, Rijndael operates with a key size of  Utilizado para criptografia e descriptografia, o Rijndael opera com um tamanho de chave de 256 bits.

It's essential to note:

External programs can only access TServer after undergoing validation/authentication. TServer responds to external requests only following validation/authentication, accomplished through user/password authentication or Windows Authentication

É essencial observar:

  1. Programas externos só podem acessar o TServer depois de passar por validação/autenticação. O TServer responde a solicitações externas somente após a validação/autenticação, realizada por meio da autenticação de usuário/senha ou da Autenticação do Windows.

  1. "RSACryptoServiceProvider" generates private/public keys, while gera chaves privadas/públicas, enquanto "Rijndael" handles the encryption/decryption process, leveraging those above private/public keys.

  1. Data compression is employed only if the block size exceeds 16000 bytes, utilizing the GZIP compression method. The ModuleInformation feature offers estimated values for each connection, considering that WCF may introduce additional bytes during data transmission.

  1. ".NET Framework applications should utilize the TLS version supported by the operating system (OS)." FactoryStudio does not manually configure the TLS version but relies on the OS's configuration.

  1. Remote access via WebAccess services (third-party programs or modules) consumes available web services via HTTP or HTTPS.

Communication with web clients

HTML5 provides flexibility in choosing between "http" or "https/ssl" protocols. You can configure compression settings like GZIP on the IIS server. Moreover, you can implement custom authorization methods, such as IP filtering or location-based authentication, along with mandatory session settings. 

Secure WebGateway 

The TWebGateway is crucial to our platform, enabling smooth data transfer across different security network zones. It bridges data from lower levels, like the factory floor (Level 2), to higher levels, such as the enterprise (Level 4).

The TWebGateway acts as a protective barrier, shielding internal networks from insecure traffic. Enterprises rely on it to guard employees and users against potential threats from malicious web traffic, websites, viruses, and malware. 

Files and Execution Protection

License/Softkey

The "License/Softkey" feature employs the .NET class System.Security.Cryptography.Rijndael, utilizing symmetric encryption with a key size of 256 bits.

Digital signature

All assemblies created by Spin Eng are signed digitally.

Project format (Configuration protection) 

All project settings, including security measures like cryptography, power recovery, and user/password protections, are stored in a relational database (.dbsln file). This file also contains the source code and compiled binaries for Scripts and Displays. This centralized storage method streamlines project management and deployment, making access and maintenance easier. 

User Authentication and Permissions

User Authentication

Our platform offers integration with various systems for user authentication:

  • Microsoft Active Directory and Windows Authentication

  • LDAP server connection

  • Built-in Users Database

  • External databases or user authentication servers

Active-Directory / Windows Authentication

Enabling Windows Authentication bypasses the project's configured user list, relying on Windows policies instead. Windows manages user authentication directly, utilizing the currently logged-in Windows user for system access.

LDAP

When LDAP is used, the project ignores its configured user list and relies on policies managed by Windows and the LDAP Server. Authentication is handled by both Windows and the LDAP Server, with the external user logged into the LDAP Server being utilized within the system.

Runtime Users

The system dynamically generates users and stores their credentials in SQL databases. It integrates with Active Directory or third-party systems to retrieve users, enabling integrated security and unified login capabilities.

Roles, Permission and Policies

Group and User Permissions

Our users can define privileges based on groups or specific individuals. Permissions can be set globally or linked to particular displays, objects, or input actions, offering granular control over access levels.

User Policies

Our platform offers a comprehensive array of user management features, including identification policies, session duration control, automated logoff mechanisms, electronic signature capabilities, and robust audit trail functionality.

Database Injection Protection

There is a significant concern about SQL injection in database operations involving stored procedures. SQL injection can occur if parameters are passed as plain text within SQL statements, which could allow malicious code to be executed. To prevent this, we use the .NET API, where parameters are added to a command object’s parameter list. This approach makes SQL injection impossible by safely handling user input.

Security External Validation

Veracode or third-party companies regularly access the platform for penetration testing reports, gap analysis, and various other topics.

Any issues that would prevent a 100% approval are corrected
  1. lida com o processo de criptografia/descriptografia, aproveitando as chaves privadas/públicas.

  1. A compactação de dados é empregada apenas se o tamanho do bloco exceder 16000 bytes, utilizando o método de compactação GZIP. O recurso ModuleInformation oferece valores estimados para cada conexão, considerando que o WCF pode introduzir bytes adicionais durante a transmissão de dados.

  1. "Os aplicativos do .NET Framework devem utilizar a versão TLS compatível com o sistema operacional (SO)." O FactoryStudio não configura manualmente a versão do TLS, mas depende da configuração do sistema operacional.

  1. O acesso remoto via serviços WebAccess (programas ou módulos de terceiros) consome serviços web disponíveis via HTTP ou HTTPS.

Comunicação com clientes da web

O HTML5 oferece flexibilidade na escolha entre os protocolos "http" ou "https/ssl". Você pode definir configurações de compactação como GZIP no servidor IIS. Além disso, você pode implementar métodos de autorização personalizados, como filtragem de IP ou autenticação baseada em localização, juntamente com configurações de sessão obrigatórias. 

Gateway Web seguro 

O TWebGateway é crucial para nossa plataforma, permitindo uma transferência de dados suave entre diferentes zonas de rede de segurança. Ele conecta dados de níveis inferiores, como o chão de fábrica (Nível 2), para níveis mais altos, como a empresa (Nível 4).

O TWebGateway atua como uma barreira protetora, protegendo as redes internas do tráfego inseguro. As empresas confiam nele para proteger funcionários e usuários contra possíveis ameaças de tráfego malicioso da web, sites, vírus e malware. 


Proteção de arquivos e execução

Licença/Softkey

O recurso "Licença/Softkey" emprega a classe .NET System.Security.Cryptography.Rijndael, utilizando criptografia simétrica com um tamanho de chave de 256 bits.

Assinatura digital

Todas as montagens criadas pela Spin Eng são assinadas digitalmente.

Formato do projeto (proteção de configuração) 

Todas as configurações do projeto, incluindo medidas de segurança como criptografia, recuperação de energia e proteções de usuário/senha, são armazenadas em um banco de dados relacional (arquivo .dbsln). Este arquivo também contém o código-fonte e binários compilados para Scripts e Displays. Esse método de armazenamento centralizado simplifica o gerenciamento e a implantação de projetos, facilitando o acesso e a manutenção. 


Autenticação e permissões do usuário

Autenticação do usuário

Nossa plataforma oferece integração com vários sistemas para autenticação de usuários:

  • Autenticação do Microsoft Active Directory e do Windows

  • Conexão do servidor LDAP

  • Banco de dados de usuários integrado

  • Bancos de dados externos ou servidores de autenticação de usuário

Autenticação do Active-Directory / Windows

Habilitar a Autenticação do Windows ignora a lista de usuários configurada do projeto, contando com as políticas do Windows. O Windows gerencia a autenticação do usuário diretamente, utilizando o usuário do Windows conectado no momento para acesso ao sistema.

LDAP

Quando o LDAP é usado, o projeto ignora sua lista de usuários configurada e depende de políticas gerenciadas pelo Windows e pelo servidor LDAP. A autenticação é feita pelo Windows e pelo servidor LDAP, com o usuário externo conectado ao servidor LDAP sendo utilizado no sistema.

Usuários de tempo de execução

O sistema gera usuários dinamicamente e armazena suas credenciais em bancos de dados SQL. Ele se integra ao Active Directory ou a sistemas de terceiros para recuperar usuários, permitindo segurança integrada e recursos de login unificados.

Funções, permissões e políticas

Permissões de grupo e usuário

Nossos usuários podem definir privilégios com base em grupos ou indivíduos específicos. As permissões podem ser definidas globalmente ou vinculadas a exibições, objetos ou ações de entrada específicas, oferecendo controle granular sobre os níveis de acesso.

Políticas de usuário

Nossa plataforma oferece uma ampla gama de recursos de gerenciamento de usuários, incluindo políticas de identificação, controle de duração de sessão, mecanismos de logoff automatizados, recursos de assinatura eletrônica e funcionalidade robusta de trilha de auditoria.


Proteção contra injeção de banco de dados

Há uma preocupação significativa com a injeção de SQL em operações de banco de dados envolvendo procedimentos armazenados. A injeção de SQL pode ocorrer se os parâmetros forem passados como texto simples dentro de instruções SQL, o que pode permitir que código malicioso seja executado. Para evitar isso, usamos a API do .NET, em que os parâmetros são adicionados à lista de parâmetros de um objeto de comando. Essa abordagem torna a injeção de SQL impossível ao manipular com segurança a entrada do usuário.


Validação externa de segurança

A Veracode ou empresas terceirizadas acessam regularmente a plataforma para relatórios de testes de penetração, análise de lacunas e vários outros tópicos.

Quaisquer problemas que impeçam uma aprovação de 100% são corrigidos.