Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

[Dúvida] Carreira em desenvolvimento seguro

Olá, tudo bem?

Considero a área da programação uma área muito extensa e pra mim é praticamente um outro mundo dentro da informática e dentro do leque de profissões que existe hoje também, para mim não dá pra saber tudo, por isso tenho que fazer uma escolha para não sofrer com o peso de tanta aprendizado e informação. Até agora dentro da área de programação estou pensando em ir pelo viés da desenvolvimento para programas de tecnologia (não necessariamente informática) e/ou pelo desenvolvimento seguro (Já estou no curso). Gostaria de vocês uma trilha aqui dentro voltada para desenvolvimento seguro. Estou em outros cursos também, porém esse meu questionamento é para programação para a área de segurança!!!.

Gostaria de obter informações sobre a área também...programas que se usam, linguagens, tudo que vocês souberem...ah e tem aquela história de bughunter também, né?

Obrigado.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
5 respostas

Olá amigo.
Em Cibersegurança pode começar com estes 3 passos:

  • Conhecimento em sistemas linux ,terminais, scripts
  • conhecimento em python e automações
  • protocolos de redes , internet
  • servidores e banco de dados
    Comente ai qualquer duvida.
    Bons estudos.

OI, tudo bem?

Caro companheiro estava falando da área de programação para segurança mesmo, talvez nessa área precise se entender de outras coisas, como servidores e sistemas operacionais, mas estava falando algo do tipo como: não posso programar desse jeito, se não um hacker invade meu sistema. Beleza? Talvez um OWASP pertença a trilha e tudo mais...

solução!

Meu amigo estudante: ainda não captei vossa mensagem!
Segue um texto que pode te ajudar:
O desenvolvimento seguro (ou Secure Software Development) é o processo de criar software de maneira que minimize vulnerabilidades, previna ataques e proteja dados e recursos. O objetivo é construir sistemas robustos desde o início, garantindo que sejam resistentes a ameaças externas e internas.
Existem várias práticas e metodologias envolvidas, como:

  • Desenvolvimento com segurança em mente: Incorporar práticas de segurança durante todas as fases do ciclo de vida do software (concepção, codificação, testes, implantação e manutenção).
  • Análise de vulnerabilidades: Identificar falhas no código que possam ser exploradas por atacantes.
  • Testes de penetração: Testar o sistema para encontrar falhas antes de serem exploradas.
  • Revisão de código: Analisar o código em busca de problemas de segurança, como injeções de SQL, XSS (Cross-Site Scripting), CSRF (Cross-Site Request Forgery), etc.
  • Criptografia e proteção de dados: Garantir que dados sensíveis sejam criptografados de forma adequada.
    Existem várias ferramentas para ajudar no desenvolvimento e teste de segurança, algumas das mais populares são:

Ferramentas de Análise de Código:

  • SonarQube: Analisador de código que verifica vulnerabilidades, bugs e qualidade geral do código.
  • Checkmarx: Ferramenta de Static Application Security Testing (SAST), que analisa o código-fonte em busca de vulnerabilidades.
  • Fortify: Outra ferramenta de análise de segurança de código.

Ferramentas de Testes de Penetração:

  • OWASP ZAP (Zed Attack Proxy): Uma das ferramentas mais populares para testes de penetração em aplicações web.
  • Burp Suite: Ferramenta de testes de segurança em aplicativos web que possui várias funcionalidades, como proxy, scanner de vulnerabilidades e mais.
  • Metasploit: Usada para explorar vulnerabilidades em sistemas de forma controlada (muito útil para simulações de ataques).

Ferramentas de Análise de Dependências:

  • Snyk: Monitora dependências de código aberto para verificar vulnerabilidades.
  • OWASP Dependency-Check: Ferramenta para verificar se as bibliotecas de terceiros utilizadas têm falhas conhecidas de segurança.

Ferramentas de Análise Dinâmica:

  • AppScan: Realiza testes dinâmicos para verificar vulnerabilidades de segurança em aplicações em funcionamento.

3. Linguagens de Programação no Desenvolvimento Seguro

Embora qualquer linguagem possa ser usada para programação segura, algumas são mais populares no campo de segurança, e outras possuem mais ferramentas e bibliotecas voltadas para segurança:

  • C / C++: Essenciais para entender vulnerabilidades de baixo nível, como buffer overflows. Também usadas em muitas ferramentas de segurança.
  • Python: Amplamente usada para escrever scripts de automação e ferramentas de pentesting, além de ser uma boa escolha para desenvolver programas relacionados a segurança, como scanners de vulnerabilidade.
  • Java: Bastante utilizada em sistemas corporativos, portanto, a segurança no desenvolvimento em Java é crucial. Ferramentas como Spring Security ajudam na construção de sistemas seguros.
  • JavaScript: Usada em front-end, a segurança no JavaScript é muito importante, especialmente com a popularidade de frameworks como React, Angular e Vue. A prevenção de XSS (Cross-Site Scripting) é essencial.
  • Go: Crescendo muito na área de segurança devido à sua performance e capacidade de construção de ferramentas seguras e rápidas.
  • Ruby: Algumas ferramentas de pentesting, como o Metasploit, são desenvolvidas em Ruby.

4. Principais Conceitos de Segurança que Você Deve Conhecer

Ao estudar desenvolvimento seguro, é importante conhecer algumas das principais ameaças e vulnerabilidades:

  • OWASP Top 10: A lista das 10 maiores vulnerabilidades em aplicações web, que é essencial para qualquer desenvolvedor se familiarizar.
  • Injeção de SQL: Uma das falhas mais comuns e perigosas, onde um atacante insere comandos SQL maliciosos em uma aplicação.
  • Cross-Site Scripting (XSS): Permite que um atacante injete scripts maliciosos no lado do cliente.
  • Cross-Site Request Forgery (CSRF): Explora a confiança de um site em um navegador do usuário.
  • Autenticação e Controle de Acesso: Implementar sistemas de login e autenticação seguros, como OAuth2, JWT e autenticação multifatorial.
  • Criptografia: Como proteger dados em trânsito (TLS/SSL) e em repouso (criptografia de arquivos e banco de dados).

continua....

5. Bug Hunter (Caçador de Bugs)

O termo bug hunter refere-se a profissionais ou entusiastas que se especializam em encontrar e reportar bugs e vulnerabilidades de segurança em softwares, muitas vezes recebendo recompensas (como os programas de bug bounty) por isso.
Plataformas de bug bounty permitem que você se envolva na caça a falhas de segurança em sistemas de empresas reais:

  • HackerOne
  • Bugcrowd
  • Synack
    Participar de programas de bug bounty pode ser uma excelente maneira de aprender mais sobre segurança, aplicar seus conhecimentos e até ganhar recompensas.

6. Trilha de Aprendizado em Desenvolvimento Seguro

Aqui vai uma sugestão de trilha para você começar ou aprofundar seus conhecimentos no desenvolvimento seguro:

Fase 1: Fundamentos

  • Estude as bases de segurança de redes e sistemas operacionais: Conhecimentos de redes, como TCP/IP, HTTP, SSL/TLS, são cruciais.
  • Compreenda as vulnerabilidades mais comuns (OWASP Top 10).
  • Aprenda a codificar de maneira segura nas linguagens que você está usando (por exemplo, como prevenir injeção de SQL em Java, como lidar com sessões em PHP, etc.).

Fase 2: Ferramentas de Teste e Automação

  • Pratique com ferramentas como OWASP ZAP, Burp Suite e Metasploit.
  • Crie scripts em Python para automatizar verificações de segurança.

Fase 3: Aprofundamento

  • Estude criptografia: Entenda os conceitos de criptografia simétrica, assimétrica, hashing e como implementar esses algoritmos de forma segura.
  • Realize testes de penetração em sistemas web.
  • Trabalhe com revisão de código e análise de vulnerabilidades.

Fase 4: Participação em Bug Bounty

  • Entre em plataformas de bug bounty e participe de testes em sistemas reais. Isso ajudará a adquirir experiência prática e a entender como os atacantes pensam e como explorar falhas de segurança.

7. Outras Considerações

  • Comunidade: A comunidade de segurança é muito ativa. Participar de conferências como a Black Hat, Defcon, ou OWASP pode ajudar a expandir sua rede e aprendizado.
  • Certificações: Certificações como o Certified Ethical Hacker (CEH), CompTIA Security+, ou OSCP (Offensive Security Certified Professional) podem ser um bom investimento, dependendo do seu interesse.

Confere ai e me envia um feedback.
Bons estudos.

Agora tu foi o cara...ta marcado como solução.