Entenda por que você deveria fazer um PenTest na sua aplicação?

Entenda por que você deveria fazer um PenTest na sua aplicação?

Com aplicações web cada vez mais granulares e com vários tipos de integrações, como garantir que essas aplicações não possuam vulnerabilidades de segurança, não exponham dados privados de usuários, dados financeiros, dados sensíveis ou possam ser manipuladas por um hacker externo ao sistema?

Para prevenir esses problemas existe o PenTest ou Penetration Test, que na tradução é conhecido como Teste de Intrusão. Esse teste tenta simular ataques ao sistema para detectar e explorar possíveis vulnerabilidades de segurança que poderiam ser usadas para acesso a dados privados ou comprometer a confiabilidade do sistema e dos servidores por trás dele.

Para realizar o teste, utiliza-se várias ferramentas automáticas de varredura de vulnerabilidades conhecidas, mas também é possível realizar o teste manualmente. Além das ferramentas é preciso ter um bom conhecimento de redes, segurança da informação e sistemas operacionais. O profissional que realiza esse tipo de teste é conhecido como PenTester ou Ethical Hacker.

Um Ethical Hacker é um especialista em encontrar vulnerabilidades em sistemas, mas ao invés de se aproveitar dessas falhas em vantagem própria, reporta o que encontrou para a empresa responsável. Esse tipo de profissional geralmente trabalha em consultorias voltadas para a segurança da informação e a realização de PenTest.

Existem basicamente 2 tipos de PenTest, cada um é realizado para tentar descobrir falhas e prevenir ataques específicos.

White Box

Nesse tipo de teste o profissional deve ter um conhecimento prévio do sistema, estrutura de rede, firewalls, range de IPs e até um usuário de acesso. Isso é necessário para que nenhuma parte do sistema ou servidor fique de fora do teste, já que o profissional tem informação de tudo que é necessário para o sistema funcionar. O teste white box é o mais completo e que dá mais cobertura para descoberta de vulnerabilidades, porém fica um pouco distante do que seria a ação de um atacante real, já que são usadas informações privilegiadas para a verificação.

Black Box

Esse teste parte que o profissional não tem informações sobre o sistema nem da estrutura da empresa e trata a aplicação como uma “caixa preta”. Sendo mais difícil de ser aplicado, já que é preciso colher algumas informações para tentar explorar vulnerabilidades, mas em compensação, essa simulação fica mais próxima de um ataque real feito externamente por um hacker.

OWASP

A “Open Web Application Security Project” conhecida pela sigla OWASP é uma organização aberta, sem fins lucrativos, que tem como foco principal, projetos de segurança de software e conta com a colaboração de profissionais do mundo todo para detectar falhas e compartilharam conhecimento sobre segurança da informação.

Uma das grandes contribuições da OWASP e talvez a mais conhecida, é a lista das Top 10 vulnerabilidades de segurança para aplicações web. A lista inclui as falhas mais perigosas e comumente encontradas, junto com instruções de como mitigá-las. Essas são as Top 10 vulnerabilidades atuais:

  1. Injeção de Código.
  2. Quebra de Autenticação.
  3. Exposição de Dados Sensíveis.
  4. Entidades Externas de XML.
  5. Quebra de Controle de Acesso.
  6. Configuração Incorreta de Segurança.
  7. Cross-Site Scripting (XSS).
  8. Deserialização Insegura.
  9. Utilização de Componentes com Vulnerabilidades Conhecidas.
  10. Log e Monitoramento Ineficientes.

Conclusão

Ao final da realização de um PenTest, geralmente é gerado um relatório com os passos que foram realizados, evidências coletadas e sugestões de ações a serem tomadas para melhorar a segurança da aplicação. É importante entender os impactos que as vulnerabilidades exploradas podem causar nos dados dos usuários, acesso a rede, roubo de credenciais e etc.

Com esse relatório é possível tomar decisões sobre recursos e funcionalidade da aplicação que precisam ser reparadas, desabilitados ou configuradas para aumentar a segurança e confiabilidade dos dados

O teste realiza um fotografia da aplicação no momento atual, mas com evoluções e atualizações, o teste deve ser refeito para manter sempre um ambiente seguro . Uma solução ainda melhor é se o monitoramento de segurança puder ser feita constantemente para prevenir qualquer tipo de ataque.

Samuel Pisa

Samuel Pisa

Desenvolvedor de Software na Tegra Soluções Digitais

E-mail: samuel.pisa@tegra.com.br

Por que fazer um radar de tecnologias?

Por que fazer um radar de tecnologias?

As tecnologias mudam e evoluem cada vez mais rápido e ignorar esse processo pode ser um grande risco para o negócio em que você atua. Na Tegra fazemos um radar de tecnologias uma vez ao ano para acompanharmos essas mudanças. Essa ideia surgiu do famoso radar criado pela Thoughtworks e da vontade de acompanhar a evolução da tecnologia e oferecer sempre a melhor solução para os clientes.

Um dos perigos de não acompanhar a evolução do mercado é se encontrar dentro de bolhas tecnológicas, onde só se vê determinada tecnologia de um distribuidor específico e todas as pessoas a sua volta também só falam nisso. Tudo parece ir muito bem, mas você pode estar dentro de uma bolha e geralmente quando isso acontece, todas as suas perguntas terão respostas certas (o que não é bom). Não existe a tecnologia perfeita para uma solução é preciso avaliar todos os prós e contras levando em consideração vários fatores, como time de desenvolvimento, infraestrutura, desejo do cliente, absorção de riscos e etc.

Um bom método de avaliar uma nova tecnologia que você pensa que irá encaixar perfeitamente na solução do seu problema, é focar nos seus pontos fracos, porque a partir do início da sua utilização o time de desenvolvimento irá absorver essas deficiências e terá que lidar com elas. Se os riscos forem mapeados e se mostrarem aceitáveis, essa tecnologia pode ser uma boa escolha dentro da sua empresa.

A construção do radar pode trazer muitos benefícios:

  • Saber o que está funcionando nos projetos e o que não já está mais.
  • Estimular a inovação através de estudo e pesquisa de novas tecnologias.
  • Avaliar os riscos de adoção de determinada tecnologia.
  • Melhorar a comunicação técnica entre os times e os membros de cada equipe.
  • Não criar silos tecnológicos, onde uma tecnologia só é dominada ou conhecida por times específicos.
  • Uma grande oportunidade para ter conversas sobre tecnologia.
  • Definir a visão tecnologia da empresa.

Como funciona?

O radar é divido em quatro quadrantes — nós mantivemos os mesmo quadrantes da ideia original.

  • Linguagens e Frameworks
  • Técnicas
  • Plataformas
  • Ferramentas

E cada quadrante possui quatro camadas. Essas camadas é que dão o real significado para as tecnologias que escolhemos.

Evite

Não inicie nada novo com esta tecnologia. Não há problema em usá-la em projetos já existentes, mas pense duas vezes antes de usar essa tecnologia para novos desenvolvimentos. Podem ser tecnologias que são muito novas ou que estão chegando no fim do seu ciclo de vida.

Avalie

Vale a pena explorar com o objetivo de compreender como isso afetará sua empresa. Deve-se dedicar algum esforço para sentir qual será o seu impacto. Geralmente as tecnologias dessa camada são as que entrarão em grande uso em um espaço curto de tempo.

Experimente

Vale a pena ir atrás porque é importante entender como desenvolver essa capacidade. As empresas devem experimentar esta tecnologia em um projeto que possa lidar com o risco. Projetos internos ou de pequeno porte são uma grande oportunidade para avaliar essas tecnologias.

Adote

Acreditamos firmemente que a indústria deveria adotar esses itens. Nós os usamos quando são apropriados em nossos projetos.

Como foi construído

Na Tegra prezamos pela participação de todos os colaboradores na maioria dos processos e dividimos a construção do radar em 4 etapas:

1. Lista de tecnologias

Todos os colaboradores adicionam em um planilha compartilhada separada por quadrantes, as tecnologias que querem no radar.

2. Votação por camada

Há uma votação onde todos participam e para cada tecnologia que estava na planilha da etapa anterior, votam para qual camada ela deve ficar. O resultado dessa votação serve de base para a próxima etapa.

3. Reunião de consenso

Nessa reunião participam alguma pessoas selecionadas pelas especialidades em determinadas áreas e com mais experiência. A partir do resultado da votação de cada tecnologia chega-se em um consenso em que camada a tecnologia vai ficar ou até mesmo se vai entrar realmente para o radar.

4. Construção e publicação do radar

A partir do projeto Build your own radar, customizamos o projeto e adicionamos os dados do processo de consenso. A publicação foi feita no site:

http://radar.tegra.com.br

O radar é como um alvo, um norte a ser seguido e quando todos os níveis de uma organização seguem no mesmo caminho e tem a mesma visão, isso se transforma em algo de enorme valor dentro de uma empresa.

Samuel Pisa

Samuel Pisa

Desenvolvedor de Software na Tegra Soluções Digitais

E-mail: samuel.pisa@tegra.com.br