Segurança

Segurança é um assunto transversal à estrutura organizacional das corporações, que permeia os aspectos físicos, lógicos e virtuais estruturados em três camadas: Física, de Controle e de Aplicação. Além de aspectos básicos, tais como antivírus e zonas militarizadas, a complexidade aumenta consideravelmente para atender leis, normas, padrões e políticas corporativas, tais como LGPD, ISO 27001, PCI, SOX e HIPAA, entre outros, visando a governança TI da organização.

Adicionalmente, foi feita uma análise meticulosa das fragilidades críticas de segurança em aplicativos Web, reportadas pela Fundação OWASP (Open Web Application Security Project). O projeto de cada camada, cada módulo e cada aplicação incluiu controles pró ativos de segurança, além de garantir que novos desenvolvedores continuem a proteger a manutenção e o desenvolvimento de novos módulos. Foram, portanto, utilizadas as melhores práticas de segurança de modo a atingir um alto padrão em todos os aspectos de projeto nesta disciplina.

Independentemente dos aspectos e das camadas de Segurança, há quatro propriedades que devem ser garantidas onde quer que um módulo, uma aplicação ou um sistema opere: Integridade – que garante a não alteração de dados/informações durante seu transporte; Confidencialidade – que garante que dados/informações só serão conhecidas por aqueles que portem as credenciais devidas; Disponibilidade – que garante que dados/informações estejam disponíveis quando requeridos; e Não Repúdio – que garante que um acesso feito por um colaborador não possa ser negado de tê-lo feito.

Gerência de vulnerabilidades

Considerando que vivemos em mundo altamente conectado e móvel, é impossível garantir que um ambiente é 100% seguro e, portanto, ameaças são uma constante. Isto posto, é necessário cuidar pró ativamente para que os riscos sejam monitorados, detectados, controlados e mitigados, protegendo e dando segurança ao negócio em toda a estrutura da organização.

Atuar preditiva e preventivamente é fundamental para se antecipar às ameaças e suas consequências. Gestão de Vulnerabilidades é o processo que monitora, detecta, identifica, analisa, classifica e trata eventos associados a vulnerabilidades. O saneamento de vulnerabilidades consiste na prevenção de fraquezas, controle e aplicação de correções e minimização/mitigação de efeitos colaterais na organização. A gestão de vulnerabilidades é um processo contínuo, sistemático, e que precisa monitoração pormenorizada.

Pensando em todos os aspectos descritos anteriormente, o Blazon se preocupa em garantir uma plataforma livre das vulnerabilidades abaixo (mas não se limitando apenas a elas):

  • Controle de injeção;

  • Exposição de dados desnecessários;

  • Cross-Site Scripting (XSS);

  • Cross-Site Request Forgery (XSRF);

  • Gerenciamento correto de sessões Web.

Além disso, a equipe de profissionais do Blazon se preocupa em garantir um ambiente configurado seguindo as melhores práticas de mercado, evitando a exposição desnecessária de informações e impedindo ataques como escalação de privilégios.

Cifragem

Cifragem é um método de embaralhamento de dados, baseado em algoritmos de criptografia, fundamental para garantir a confidencialidade. Sistemas/Aplicações, em geral, utilizam esses métodos de duas formas: i) embaralhamento irreversível, em geral utilizado para a confidencialidade de autenticação; e ii) embaralhamento reversível, utilizado para o transporte confidencial de dados/informações.

Todas as credenciais utilizadas por colaboradores (usuários) da organização são criptografadas utilizando o algoritmo de codificação SHA-512, não sendo possível a reversão das cifragens. Na realidade, é possível a configuração de outros algoritmos de criptografia, se for um requisito da corporação.

O armazenamento de dados/informações (ii), que requerem a remoção da cifragem, tais como o nosso cofre de senha, utilizam o método de criptografia simétrica baseado no algoritmo AES (Curvas Elípticas) de 256 bits. É interessante frisar que o método de criptografia baseado em algoritmos AES oferece uma confidencialidade superior aos demais algoritmos, sendo comprovado que AES 256 bits é mais do que suficiente para as necessidades atuais de confidencialidade.

As chaves utilizadas para cifrar/decifrar são armazenadas em locais seguros e possuem um processo em camadas, que minimizam/evitam suas utilizações indevidas. Além das chaves, cada transação necessária possui um salto que aumenta o nível de dificuldade de possíveis atacantes que queiram obter acesso indevido a dados/informações contidas na plataforma.

Autenticação

A autenticação é o ato de provar uma afirmação, como a Identidade de um usuário (Username) de sistemas computacionais, onde um usuário precisa provar que ele é quem diz ser. Em contraste com a identificação, o ato de indicar a identidade de uma pessoa ou coisa, a autenticação é o processo de verificação dessa identidade. Um usuário pode provar que ele é quem diz ser de, basicamente, três modos: i) algo que o usuário sabe – em geral uma senha; ii) algo que o usuário tem – em geral um dispositivo, como um token; e iii) algo que o usuário é – em geral biometria.

O processo de autenticação pode exigir alguns desses fatores (i, ii ou iii), dependendo do contexto de utilização, o que é denominado autenticação por meio de Múltiplos Fatores de Autenticação (MFA – Multi Factor Authentication), que implica na necessidade de oferecer dois ou mais fatores de autenticação. A autenticação é um processo que pode envolver:

  • Múltiplos Fatores de Autenticação:

    • Username/Password;

    • Perguntas secretas;

    • Google Authenticator; e

    • Canal seguro (email/SMS/App).

  • Controle de risco:

    • Solicitação de mais Fatores de Autenticação baseada em contexto:

      • Origem do acesso;

      • Horário;

      • Dispositivo conhecido.

    • Negação de acesso baseado em contexto:

      • Origem do acesso;

      • Horário;

      • Dispositivo conhecido.

  • Controles contra ataques de força bruta:

    • Muitas tentativas de logins com falha do mesmo endereço IP;

    • Logins com vários nomes de usuários do mesmo endereço IP;

    • Logins para uma única conta provenientes de muitos endereços IP diferentes.

Gerenciamento de senhas

Senha é um dos fatores de autenticação mais largamente utilizados devido à facilidade de ser algo que pode ser memorizado e, portanto, não requer nenhum artefato adicional. Por outro lado, memorizar sequência longa de caracteres, principalmente se se inclui caracteres especiais, pode levar ao esquecimento frequente de senhas. Ausência de critério na criação de senha leva ao risco de se criar senhas fáceis e fracas. Nas organizações, além de ser requeridas senhas fortes, há políticas de segurança que impõem a troca sistemática de senhas, incluindo o requisito de não se repetir senhas. Todos esses requisitos implicam na necessidade de se constituir um processo que gerencie as senhas de usuários, sendo oferecidas as seguintes funcionalidades:

  • Política de Complexidade de senha: maiúscula, minúscula, números, caracteres especiais, tamanho mínimo;

  • Não reutilização de senhas;

  • Expiração de senhas;

  • Sincronismo de senhas;

  • Armazenamento seguro (baseado no item ‘i’ descrito em cifragem);

  • Troca de senha pelo usuário:

    • Identificação do usuário;

    • Perguntas secretas;

    • Inativação do usuário;

    • Token secreto no e-mail;

    • Nova senha baseada na Política de Complexidade.

Integrações de Sistemas

A Gestão de Identidade permeia todos os sistemas e recursos da corporação, desde sistemas pré-existentes na organização, bem como novos sistemas. Além disso, recursos físicos tais como catracas e portas podem (e deveriam) fazer parte de uma plataforma de Gestão de Identidade. Deste modo, integração de sistemas é uma das chaves para o sucesso de um projeto bem sucedido.

A arquitetura Blazon tem uma camada (Resource Adapters Layer) especialmente projetada para integrar transparentemente todos os sistemas existentes numa corporação. Visando escalabilidade e funcionamento em nuvem, esta camada foi projetada completamente desacoplada do Módulo Core Engine, permitindo que esses adaptadores (RA) operem em um mesmo ambiente ou em ambientes distintos, incluindo diferentes nuvens.

Blazon permite que esses adaptadores sejam construídos facilmente, podendo ser inclusive desenvolvidos pela equipe de TI da organização. Os seguintes aspectos de segurança são especialmente tratados:

  • Integridade e Confidencialidade

    • Comunicações entre o Módulo Core Engine e cada RA é passível de utilização de HTTPS, sendo esta recomendada;

    • Eventos de provisionamento contendo informações sensíveis são criptografados, tais como:

      • Criação de contas;

      • Mudança de Senhas;

      • Atualização de contas.

  • Disponibilidade

    • Toda e qualquer comunicação realizada entre o Módulo Core Engine e um RA, é feita no modelo de polling, sendo responsabilidade do RA buscar eventos relativos a provisionamento/reconciliação;

    • Caso um RA se torne indisponível, assim que ele se torne novamente disponível, os eventos em aguardo são processados;

    • Caso algum sistema (integrado) se torne indisponível para provisionamento, foram desenvolvidas políticas de resiliência, que tentam o provisionamento até que um limite máximo de tentativas especificado (configurado) seja alcançado.

Acesso à Plataforma

Todo e qualquer acesso ao Blazon pode ser disponibilizado a partir de HTTPS, sendo que todos estes acessos são registrados via log. Este requisito de acessos via HTTPS é fundamental para a confidencialidade dos acessos e, é importante frisar que, a Política de Log foi desenvolvida para garantir o Não-repúdio, que, como dito anteriormente, é uma garantia de comprovação da origem e autoria de um determinado acesso. A plataforma garante que o autor (usuário) não negue ter feito o acesso.

Controle de permissões internas

Blazon conta com um conjunto de permissões internas que permitem que apenas as funcionalidades necessárias sejam disponíveis para um usuário. Desta forma controles como Segregação de Responsabilidade, que reduzem em até 40% tentativas de fraudes, podem ser aplicados na própria plataforma, garantindo um alto nível de confiabilidade e diminuição de riscos.

Gerenciamento de sessões

Uma sessão é caracterizada pelo intervalo de tempo decorrido entre o instante em que um usuário é autenticado até o instante em que o acesso é encerrado, sendo que neste intervalo de tempo, o usuário pode requerer a execução de tarefas. Gerenciar uma sessão é então o processo de garantir que um usuário somente terá o acesso para o intervalo de tempo que lhe é outorgado e que esse usuário somente execute tarefas para as quais possui direito. Do mesmo modo, a gerência de sessão deve garantir que apenas o usuário autenticado poderá executar tarefas na sessão para a qual foi autenticado e registrar todas as atividades visando a rastreabilidade do acesso.

Sendo considerado um item extremamente relevante no controle de vulnerabilidades, há especial atenção ao gerenciamento adequado de sessões Web para evitar que ataques sejam realizados por meio de tais sessões. Dentre algumas preocupações, abaixo temos alguns dos controles realizados pela plataforma:

  • Controle de timeout absoluto;

  • Controle de sessão por tempo de inatividade;

  • Session ID Name Fingerprinting.

Além disso, nossa equipe se preocupa na utilização/configuração de um setup que contemple a utilização de HTTPS, evitando o sequestro das sessões por meio de técnicas como Man-in-the-middle.

Logging

O projeto da plataformar inclui um completo sistema de Logging para que Analistas de Segurança possam rastrear atividades visando a gerência da segurança da informação, de infraestrutura, auditoria de segurança e governança. Em casos necessários, a plataforma permite a consolidação de loggings em um repositório central. A seguir são listados três exemplos de registros:

  • Logging de alteração dos principais objetos/processos do sistema;

  • Logging de acessos;

  • Trilhas de auditoria e governança.

Disponibilidade

Pensando em garantir um dos pilares fundamentais na segurança da informação, o Blazon conta com uma arquitetura capaz de ser disponibilizada em alta disponibilidade. Todos os seus principais componentes podem escalar de forma horizontal, de tal forma a mitigar eventuais riscos de indisponibilidade.

Há uma versão, que pode ser contratada sob demanda, que dota a Plataforma Blazon de escalabilidade, permitindo-lhe operar a partir de diversos sites (Datacenter/Nuvem), de tal modo que se uma instância se torna indisponível, outra instância passa a responder pelas funcionalidades da plataforma.

Last updated