Páginas filhas
  • Segurança da Informação

Histórico de Revisão

Data

Versão

Descrição

Autor

19/07/2017

1.0

Versão Inicial

João Vinícius Sonsim da Silva

19/07/2018

2.0

Atualização de Atividades

Cesar Moreira Bastos


Introdução

Este página tem como objetivo ilustrar as ações realizadas para inibir as diversas formas de vulnerabilidade e melhorar a segurança do Portal de Mobilidade contra ataques e invasões maliciosas.

Para uma melhor compreensão, pressupõe-se do leitor alguma familiaridade com conceitos de segurança da informação, tecnologia de redes, aplicações web e de administração de sistemas.


Política de Segurança de Senhas

Descrição:

A falta de restrições que permitem a um usuário colocar uma senha de baixa qualidade, definitivamente é um dos maiores problemas relacionados à segurança de qualquer mecanismo de autenticação. Esse tipo de prática pode levar ao comprometimento de várias credenciais de acesso.

Ação:

A boa prática é impedir a utilização de senhas de baixa qualidade para não comprometer a aplicação. A utilização de apenas 1 (um) caractere adicional numa senha normalmente eleva, exponencialmente, a dificuldade de sua descoberta através de ataques via força bruta por busca exaustiva.

Sendo assim, o padrão adotado pelo Portal de Mobilidade segue a seguinte política:

  • Mínimo de 8 caracteres;
  • Mínimo de 1 letra minúscula;
  • Mínimo de 1 letra maiúscula;
  • Mínimo de 1 número;
  • Mínimo de 1 caractere especial.

Upload de arquivos

Descrição:

A possibilidade de envio de arquivos para o servidor é conhecida por ser um ponto frágil das aplicações web, pois a realização dessa atividade é normalmente associada a um mecanismo de upload que permite ao usuário transferir arquivos diretamente para o servidor.

Quando a aplicação não implementa uma filtragem segura dos tipos de arquivos que podem ser transferidos, abre-se uma enorme brecha que potencialmente pode levar ao envio e/ou execução de código arbitrário no servidor.

Ação:

Visando impedir este tipo de ação (atualmente o Portal possui duas telas onde é possível realizar upload de arquivos, sendo que uma delas seria para trocar o banner da tela principal e a outra enviar os aplicativos mobiles) foram adotadas as seguintes validações:

  • Em cada uma das telas é permitido enviar apenas os arquivos que sejam das respectivas extensões, caso contrário o arquivo será rejeitado;
  • Não é possível realizar o upload através de requisições REST;
  • É necessária uma verificação CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) antes de enviar o arquivo.

Figura 1 - CAPTCHA na tela de upload dos aplicativos mobiles

Injeção de HTML/Javascript

Descrição:

A possibilidade de injeção e execução de HTML/Javascript geralmente implicam na possibilidade de execução de código pelo navegador, no contexto a partir do qual o código foi injetado. O ataque proveniente deste cenário é conhecido como Cross-Site Scripting (ou simplesmente XSS) e como resultado, pode ocasionar, dentre outros, no sequestro de sessões e roubo de informações sensíveis.

Ação:

Para impedir a injeção HTM/Javascript é realizada uma varredura nos parâmetros enviados em busca de algo que possa ser uma injeção de HTML/Javascript, a rotina quando encontra essa possível injeção barra a execução dessas instruções.

Figura 2 - Tentativa de injeção de XSS

Ataques de Path Traversal

Descrição:

O Path Traversal trata-se de uma falha oriunda da validação insuficiente das entradas de dados fornecidos pelos usuários, cujo objetivo principal é acessar arquivos e diretórios que estão armazenados fora da raiz de publicação do servidor web. Uma das formas mais eficientes de identificar a falha, consiste em procurar por mecanismos/componentes utilizados pela aplicação para acessar arquivos armazenados no servidor (ex.: planilhas, imagens, documentos, etc.).

Ação:

Para impedir ataques de Path Traversal, a aplicação por meio de interpretação de parâmetros enviados barra as tentativas de ataque.

Mecanismo de controle de acesso

Descrição:

Caso não seja implementado nenhum mecanismo de controle de acesso pode-se permitir que determinados recursos da aplicação que, em tese, deveriam ser acessados apenas por usuários autenticados — como páginas, arquivos, e até mesmo funcionalidades — sejam acessados de maneira direta e não autenticada.

Ação:

Para impedir o acesso, mesmo que a pessoa tenha uma URL direta, não é possível acessar sem que usuário tenha feito seu Login no portal.

Após Login no sistema, o acesso a funcionalidades do portal está amarrado aos perfis criados, onde é configurado o que cada perfil tem acesso.

Figura 3 - Chamada de URL direta sem usuário ter feito o Login

Figura 4 - Liberação de acesso ao perfil

Manipulação de comandos SQL

Descrição:

A possibilidade de manipular comandos SQL (Structured Query Language) pode fornecer meios necessários para execução de ataques que resultem na recuperação e/ou manipulação das informações existentes no banco de dados.

Ação:

Para impedir ataques de SQL Injection, a aplicação utiliza querys parametrizadas (prepared statements) para tratar entradas não confiáveis de maneira segura, prevenindo ataques impenetrados através da manipulação de comandos SQL.

Configuração de endereço de e-mail

Ação:

Na tela de configuração de e-mail no portal foram implementadas funcionalidades para impedir que senhas sejam capturadas, tais como:

  • Ao carregar a tela onde se cadastra o e-mail que o Portal usará para enviar os e-mails, o campo senha vem com o valor vazio, com isso, ao abrir a ferramenta de desenvolvedor dos navegadores não é possível visualizar a senha;
  • Ao salvar uma nova senha, essa senha é criptografada e salva no banco de dados.

Figura 5 - Tela de configuração do e-mail

Configuração da base de dados

Ação:

O Portal permite a configuração de várias bases de dados Oracle, nas quais produtos diferentes (PIMSCS e PIMI) possam utilizar a mesma instalação. Isso favorece em um maior controle para centralizar o registro de dispositivos. Nesta configuração de bases, o usuário tende de registrar um Banco, Usuário e Senha (a senha aqui é criptografada para evitar a captura da mesma).

Figura 6 - Configuração da base de dados, em destaque a senha criptografada

Registros de Dispositivos

Ação:

A troca de informações entre o Portal de Mobilidade e os dispositivos móveis (com as aplicações TOTVS Agro instaladas) é controlada através do registro do dispositivo. Cada dispositivo para fazer a sincronização, é necessário que se faça o registro para que o mesmo seja autorizado a fazer o Login no aplicativo e assim fazer a busca de cadastros e envio de apontamentos.

Cada dispositivo registrado consome uma licença no Portal, fazendo com que quando atingido o número total, outros dispositivos não sejam registrados.

Figura 7 - Dispositivo registrando no Portal de Mobilidade

Figura 8 - Dispositivo registrado no Portal


Com este registro fica impossibilitado que dispositivos diferentes tentem registar com um mesmo número de dispositivo, evitando que dispositivos não autorizados façam uso de sincronismos.

Note que na figura acima é demonstrado uma lista dos dispositivos registrados e em caso de perda ou de não localização do aparelho é possível cancelar o registro do mesmo para evitar que o mesmo faça o sincronismo de informações.

A opção de ‘Termo de Responsabilidade’ é possível anexar a cópia de um documento na qual pode-se colocar a informação de para quem o aparelho foi entregue, assim nesta opção também pode consultar este documento.

A opção de Apps Instalados’ mostra todos os aplicativos TOTVS Agro instalados no dispositivo.

Liberação de Acesso das Aplicações

Ação:

Para acessar as aplicações no mobile, é necessário fazer a liberação dos apontamentos para cada dispositivo. Isso se faz necessário para evitar que dispositivos que estejam configurados para usar um determinado apontamento (ex.: Abastecimento) possam estar sincronizando informações de outros apontamentos (ex.: Atividades Mecanizadas).

Figura 9 - Dispositivo não liberado para acesso ao aplicativo

Assim, o usuário deve acessar o Portal e fazer as liberações dos aplicativos para o dispositivo individualmente ou de forma geral, selecionando vários dispositivos antes de fazer a liberação.

Figura 10 - Liberação de apontamentos para o dispositivo

Neste caso, o usuário pode estar realizando a liberação de somente alguns apontamentos para determinado aplicativo, evitando assim que o usuário venha a fazer ações que não estejam sob sua responsabilidade.